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