我知道外键约束对于数据库的完整性非常有用,但是在处理数百万个且不断增长的表时使用约束也是一个巨大的开销。
我想从我的应用程序中删除外键约束。在过去的 symfony2 项目中,我手动删除了约束,但我假设也许有一种方法可以简单地告诉 symfony2 执行此操作?
如果有人知道在框架内执行此操作的方法,请告诉我:)
编辑:
比方说,在多对多关系中,它会自动创建具有适当索引的关系表,但它也会在两列上放置外键约束,或者如果我有一个一对多关系,它会放置外键约束关于这种关系。
我不想创建这些外键约束。
最佳答案
在 Doctrine 的 JIRA 中找到:
您可以禁用特定型号的外键导出:
User:
attributes:
export: tables
columns:
或者使用 php:
$userTable->setAttribute(Doctrine::ATTR_EXPORT, Doctrine::EXPORT_TABLES);
现在它只会导出表定义,不会导出任何外键。您可以使用:无、表、约束、插件或全部。
关于php - 有没有办法禁用 symfony2/doctrine 约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27436517/