bench transform-database
This command is added in Version 14, and supports only MariaDB
Usage
bench transform-database [OPTIONS] table
Description
The transform-database command allows you to manage the settings of your site's tables. At this point, you can switch engines and row_format settings for select tables on your site database.
MariaDB 10.6 deprecated the COMPRESSED ROW_FORMAT which was Frappe's default option for a very long time. This command was added to handle upgrades to later versions of MariaDB. For more information on this, refer to the PR.
Options
--tableComma separated name of tables to convert. To convert all tables, pass 'all' [required]--engineChoice of storage engine for said table(s). Options available are InnoDB and MyISAM.--row_formatSet ROW_FORMAT parameter for said table(s). Options available are DYNAMIC, COMPACT, REDUNDANT, COMPRESSED.
Flags
failfastExit on first failure occurred
Examples
Consider a scenario where you'd want to change the engine of a table "tabAccess Record" to
MyISAM. You may want to do this if it's a log table that's dealing with huge volumes of writes and very little reads.bench --site {site} transform-database --table 'tabAccess Record' --engine 'MyISAM'You've upgraded MariaDB on your current server from 10.3 to 10.7. You're going to have to convert all the tables that used the COMPRESSED row_format to the new default, ie
DYNAMIC. You'd want to run the following command.bench --site {site} transform-database --table 'all' --row_format 'DYNAMIC'