2016-06-09 7 views
2

Doctrine создает таблицы с именами, похожими на сущности, используя тот же случай. Проблема, конечно, в том, что некоторые системы или environements имеют разные настройки, что может привести к проблемам между dev/stage/prod.Параметр Doctrine для создания таблиц с нижним регистром?

Мы поместили в нашу базу данных lower_case_table_names=1 и изменили каждое отображение таблицы вручную, чтобы оно не было чувствительным, это не очень удобно.

  • Необходимость установить его для каждого стола может быть тяжелой.
  • С точки зрения технического обслуживания, это создает не только больше работы, но и больший риск ошибок при создании новых таблиц
  • Имея установить DB параметров на стороне MySQL не тяжелая работа, но всегда можно добавить ненужные осложнения


Так вот мой вопрос:
не существует ни один из существующих способов просто попросить доктрину создавать таблицы в нижнем регистре?
Что мне кажется довольно странным, так это то, что (из того, что я знаю), стандарты должны иметь сущности/классы, начинающиеся с капитала, тогда как имена таблиц баз данных должны быть только lower_case.

Таким образом, я ожидал, что поведение по умолчанию создало бы таблицы нижнего регистра или, по крайней мере, тот простой параметр логической Doctrine мог бы включить это.

Мы используем Symfony2. Вот отображение используется для наших таблиц (найдено в this SO thread)

/** 
* @Entity 
* @Table(name="something") 
*/ 
class Something { 
    [...] 
} 

Я также читал о underscore naming strategy, но вместо верблюда случай с подчеркиванием не означает, что также удалит стартовый капитал, не так ли? (я не устр на проект, так что я не мог попробовать)

+1

Стратегия именования Подчеркивание позволяет вам укажите случай: http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/namingstrategy.html#underscore-naming-strategy – Cerad

+0

@Cerad Спасибо за ссылку. Я не нашел точной информации об этом. Наверное, ты сможешь ответить на этот вопрос. – Balmipour

ответ

Смежные вопросы