HomePhabricator

Allow `bin/storage adjust` to adjust table engines

Description

Allow bin/storage adjust to adjust table engines

Summary:
Ref T11741. On recent-enough versions of MySQL, we would prefer to use InnoDB for fulltext indexes instead of MyISAM.

Allow bin/storage adjust to read actual and expected table engines, and apply adjustments as necessary.

We have one existing bad table that uses the wrong engine, metamta_applicationemail. This change corrects that table.

Test Plan:

  • Ran bin/storage upgrade.
  • Saw the adjustment phase apply this change properly:
>>>[463] <query> ALTER TABLE `local_metamta`.`metamta_applicationemail` COLLATE = 'utf8mb4_bin', ENGINE = 'InnoDB'

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11741

Differential Revision: https://secure.phabricator.com/D16941