有没有办法禁用symfony2 / doctrine约束?

时间:2014-12-12 03:47:04

标签: php symfony doctrine-orm doctrine symfony-2.1

我认为外键约束对于数据库的完整性非常有用,但在处理数百万且不断增长的表时,使用约束也是一个巨大的开销。

我想从我的应用程序中删除外键约束。在过去的symfony2项目中,我已经手动删除了约束,但我假设可能有一种方法可以简单地告诉symfony2这样做吗?

如果有人知道在框架内执行此操作的方法,请告诉我:)

修改

例如,在manyToMany关系中,它会使用正确的索引自动创建关系表,但它也会在两列上放置外键约束,或者如果我有一个oneToMany关系对该关系的外键约束。

我不希望创建这些外键约束。

1 个答案:

答案 0 :(得分:2)

在Doctrine的JIRA中找到:

您可以禁用特定型号的外键导出:

User:
  attributes:
    export: tables
  columns:

或使用php:

$userTable->setAttribute(Doctrine::ATTR_EXPORT, Doctrine::EXPORT_TABLES);

现在它只会导出表定义而不导出任何外键。您可以使用:none,tables,constraints,plugins或all。