Problems activating CF-WP plugin
If you experience an error when attempting to activate the Canvasflow for WordPress plugin, it's very likely that your MySQL storage engine is configured to use MyISAM.
The Canvasflow plugin uses referential integrity, which involves the use of foreign keys (RDBMS) and relationship constraints. The MyISAM engine does not support this feature which explains why it fails to activate. To activate the plugin, the MySQL storage engine for two tables must be converted to InnoDB.
Are You Using MyISAM or InnoDB?
If you are running on a fairly new WordPress site chances are you are already using the InnoDB MySQL storage engine. But with older WordPress sites you might want to do a quick check. Some sites might even have mixed and matched MyISAM and InnoDB tables, in which you could see improvements by converting them all over. Follow these simple steps below to check.
Login to phpMyAdmin and click into your mySQL database.
Do a quick scan or sort of the “Type” column and you can see which Storage Engine types your tables are using. In this example below, you can see that two of the tables are still using MyISAM.
Alternatively, you could run a query to see if any myISAM tables exist. Replace ‘database’ with your database name.
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'
Convert MyISAM to InnoDB
You can convert MyISAM to InnoDB fairly easily. This example is below is using the
wp_poststable. Simply run the ALTER command to convert it to InnoDB storage engine. Note: We always recommend backing up your MySQL database before running any operations on it.
ALTER TABLE wp_posts ENGINE=InnoDB;
- Ensure you are running MySQL 5.6.4 or higher otherwise, you might run into issues where full-text indexing is not supported yet by InnoDB.
Alternatively, you can also convert them manually with phpMyAdmin. Simply click on the myISAM table, click into the “Operations” tab, and change the storage engine.
Once the engine of all required tables have been successfully converted to InnoDB, please re-activate the plugin.