У меня есть PHP кодовая база, которая была написана для адресации наших таблиц MySQL в смешанном регистре. Например, xar_intakeformgenerator_ChangeLog
.
Наш код также работает в Windows, и, прежде чем мы узнали что-то лучше, мы импортировали несколько баз данных на сервер Windows. Это привело к тому, что Windows MySQL изменил все имена таблиц на строчные. (xar_intakeformgenerator_changelog
). Теперь мы знаем, как предотвратить это в новых базах данных. (Set lower_case_table_names
) И, код отлично работает на серверах Windows, потому что MySQL просто не заботится о случае таблиц в Windows.
Вот проблема. Сервер Windows доставляет нам горе, и нам нужно перенести все базы данных на сервер Linux. Поскольку все имена таблиц преобразованы в нижний регистр, код НЕ будет работать в Linux. К счастью, Xaraya создает сопоставления таблиц. Таким образом, теоретически я мог бы создать новую кодовую базу для этих баз данных и изменить сопоставления каждого модуля, чтобы использовать таблицы в нижнем регистре. Или мы могли бы вручную изменить имена таблиц после их импорта на компьютер Linux, чтобы получить правильный регистр таблиц.
изменение lower_case_table_names
не исправляет базы данных, которые были искажены до того, как был установлен флаг. Все они имеют имена таблиц в нижнем регистре.
Я не в восторге от любого варианта. Кто-нибудь знает оригинальный способ справиться с этим?