Convert tables From MyISAM to INNODB - Dashboard Installer

Link: https://support.brilliantdirectories.com/support/solutions/articles/12000109105

The Install New Updates module on the admin dashboard lists one-time platform installers that still have pending steps on the site. Clicking the green Check For Updates button refreshes the list — an installer only appears when the site actually has something left to install, and it disappears from the list once its steps are complete.

What Convert tables From MyISAM to INNODB Does

This installer modernizes how the website's database tables are stored. It finds any tables still using the older MyISAM storage engine and converts them to InnoDB, the modern engine that newer database versions and platform features expect. It changes the storage engine only; it does not delete, rewrite, or reorder the data inside the tables.

How the conversion works:

  • The installer connects to the website database and looks up every table still on the MyISAM engine.
  • It converts them to InnoDB with a standard ALTER TABLE ... ENGINE=InnoDB operation, processing the smallest tables first.
  • Each run works within a 45-second time budget. If there are large tables and the budget is reached before every table is done, the remaining tables are left for the next run. This is deliberate: it keeps large log tables from causing the request to time out.
  • Two tables — website_layouts and website_layouts_old — are intentionally skipped. Their rows are too wide for InnoDB's row-size limit and cannot be converted without schema changes, so the installer leaves them on MyISAM by design.

Why It Appears

Each time Check For Updates is clicked, this installer counts the tables in the database that are still on the MyISAM engine (ignoring the two skipped layout tables). It appears in the list only when that count is greater than zero — that is, when at least one convertible table is still on MyISAM. Once every eligible table has been converted to InnoDB, the count is zero and the installer no longer appears.

This is a legacy condition. Databases created before InnoDB became the platform standard will have MyISAM tables to convert, while newer databases are already on InnoDB throughout. Seeing this installer does not mean anything is broken; it means the database still has one or more tables on the older engine.

Why It Matters

InnoDB is the modern MySQL storage engine and the one newer database server versions and platform features are built for. It supports row-level locking and transactional integrity that MyISAM does not, which makes tables more reliable under concurrent activity and better protected against corruption. Converting the remaining MyISAM tables brings the database in line with the current standard. Leaving them on MyISAM will not break the current site, but it keeps those tables on an engine that newer features are not designed around.

How to Run It

  1. From the admin dashboard, find the Install New Updates module and click Check For Updates.
  2. If the database still has MyISAM tables, Convert tables From MyISAM to INNODB appears in the list. Click Install.
  3. After it completes, click Check For Updates again — the entry disappears once every eligible table has been converted.

If the installer does not appear in the list, the tables are already on InnoDB — the module only shows installers with pending steps, so there is nothing to do.

After Running

Nothing changes visibly on the website. The data in the tables is preserved exactly as it was; only the underlying storage engine is switched from MyISAM to InnoDB. There is nothing to reconfigure afterward.

Because each run works within a time budget and processes tables smallest-first, a database with large tables may not finish in a single pass. When that happens, the installer reports how many tables still remain and stays in the list — simply run it again to continue where it left off. Each run re-checks which tables are still on MyISAM before converting, so it is safe to run repeatedly until none remain and the entry disappears.