есть ли способ отключить ограничения symfony2/doctrine?
Я понимаю, что ограничения внешнего ключа отлично подходят для целостности базы данных и всего остального, но также это огромные накладные расходы на использование ограничений при работе с таблицами, которые исчисляются миллионами и растут.
Я хочу удалить ограничения внешнего ключа из своего приложения. В прошлых проектах symfony2 я удалял ограничения вручную, но я предполагаю, что, возможно, есть способ просто сказать symfony2 сделать это?
Если кто-нибудь знает, как это сделать в рамках, пожалуйста, позвольте мне знать:)
Редактировать:
Допустим, например, в отношениях ManyToMany он автоматически создает таблицу отношений с соответствующими индексами, но также накладывает ограничение внешнего ключа на оба столбца, или, если у меня есть отношение OneToMany, оно накладывает ограничение внешнего ключа на это отношение.
Я не хочу, чтобы создавались эти ограничения внешнего ключа.
1 answers
Найдено в JIRA Доктрины:
Вы можете отключить экспорт внешних ключей для определенных моделей:
User:
attributes:
export: tables
columns:
Или с помощью php:
$userTable->setAttribute(Doctrine::ATTR_EXPORT, Doctrine::EXPORT_TABLES);
Теперь он будет экспортировать только определение таблицы и ни один из внешних ключей. Вы можете использовать: нет, таблицы, ограничения, плагины или все.