У нас есть соглашение об именах camelCase во всем, что мы делаем - от таблиц базы данных до свойств объектов, столбцов, индексов базы данных и ограничений.
Мы работаем с этими соглашениями уже два месяца в новом проекте, и все шло хорошо, когда вчера вечером все отношения касались только одной из наших 6 баз данных, преобразованных из camelCase в нижний регистр. Важно отметить, что только преобразованные ограничения - сами индексы остались camelCase.
Итак, если бы у нас был столбец с именем someColumn и другой, someTable.otherColumn, то он пошел от этого:
someColumn => someTable.otherColumn ON DELETE CASCADE ON UPDATE CASCADE
:
someColumn => someTable.otherColumn ON DELETE CASCADE ON UPDATE CASCADE
Что может быть причиной этого? Мы не смогли воспроизвести эту проблему - мы попытались изменить случайное ограничение, чтобы увидеть, изменит ли он их все, и мы попытались повторно импортировать структуру, и все прошло отлично, сохранив CamelCase от импорта.
Мы работаем над OSX и развертываем CentOS.
Изменить: один разработчик использует нечувствительный к регистру OSX. Он попытался повторно импортировать базу данных из экспорта на своей собственной машине, и все было в порядке: импорт дампа с нечувствительной к регистру машины в чувствительный к регистру CentOS не нарушал ситуацию. Перезапуск mysqld также не смог воспроизвести эту ошибку. Все настройки mysql с нижним регистром отключены. На сегодняшний день мы не смогли повторить это.
Edit2: Обратите внимание, что это произошло только на нашем сервере разработки CentOS - разработчик, который использует нечувствительную к регистру ОС, импортировал свою базу данных раньше, чем другие, которые находятся на чувствительных к регистру системах, и все было в порядке каждый раз.