I know we're supposed to submit multiple issues for unrelated patches, but we made several small fixes when running this here on our 900+ production sites which I'm including here together for now in the hopes that at least part of this will be helpful for someone.

  • Fix a bug which caused the collation utf8mb4_bin, when set as the collation for a column, to be used for all remaining columns in the same table.
  • Add a flag to set the ROW_FORMAT to compressed, for people who are using the patch at #2857359: Make MySQL ROW_FORMAT configurable or something equivalent for performance reasons.
  • Add an include-tables option, similar to exclude-tables, for people who have a table not defined in a hook_schema() function which should still be converted (in our case, a table created by a module which we've temporarily disabled). (See also #2786963: drupal_get_schema does not consider all tables.)
  • Indicate the target collation in the log message.
  • Better detection of columns which don't need to be changed.
  • Only optimize tables when the table or one of its columns has been changed.

Comments

mvc created an issue. See original summary.

mvc’s picture

mvc’s picture

Status: Needs work » Needs review