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

标签 php symfony doctrine-orm doctrine symfony-2.1

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

我想从我的应用程序中删除外键约束。在过去的 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/

相关文章:

php - 发布数组并重定向到另一个页面

php - 从具有一个二进制字段的表中获取单独的值

symfony - 在 Symfony2 中使用 OAuth2 client_credentials 进行身份验证

symfony - 将 Assets 与 Symfony2 和 Assetic 结合时使用 CDN

php - 克隆如何创建单例的新版本?

javascript - 按 id 下拉多个 div

optimization - Symfony-更新多个记录

php - 自动加载器预期类 Symfony2

php - Doctrine2+Symfony2 : How can I store entities and mappings in separate bundles?

php - 使用 Doctrine 和 Symfony 插入数据库 - 外键不插入