HomePhabricator

Use utf8_general_ci for "sort" columns in old MySQL

Description

Use utf8_general_ci for "sort" columns in old MySQL

Summary:
Fixes T7287. This trades off 4-byte character support for case insensitivity in these columns, which is a much better trade on the balance.

Also adds more warnings about old MySQL. Note that we already issue a warning when you run "storage adjust" (which I've made stronger) and already "strongly recommend" MySQL 5.5 or newer in the install documentation.

Test Plan:

  • Ran storage adjust --disable-utf8mb4 to go to old definitions, then ran storage adjust to get back to the new ones. Everything seemed OK in both cases.
  • Verified that utf8mb4 data can be migrated out of these colums with --unsafe (which will truncate).
  • Verified that manual explains this.
  • Faked my way into the setup warning.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T7287

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