Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法禁用symfony2/条令约束?_Php_Symfony_Doctrine Orm_Doctrine_Symfony 2.1 - Fatal编程技术网

Php 有没有办法禁用symfony2/条令约束?

Php 有没有办法禁用symfony2/条令约束?,php,symfony,doctrine-orm,doctrine,symfony-2.1,Php,Symfony,Doctrine Orm,Doctrine,Symfony 2.1,我发现外键约束对于数据库的完整性和所有方面都非常重要,但在处理数以百万计且不断增长的表时,使用约束也会带来巨大的开销 我想从应用程序中删除外键约束。在过去的symfony2项目中,我已经手动删除了约束,但我假设可能有一种方法可以简单地告诉symfony2这样做 如果有人知道在框架内执行此操作的方法,请让我知道:) 编辑: 比如说,在一个多人关系中,它会自动创建带有适当索引的关系表,但同时也会在两列上设置外键约束,或者如果我有一个一人关系,它会在该关系上设置外键约束 我不希望创建这些外键约束。可在

我发现外键约束对于数据库的完整性和所有方面都非常重要,但在处理数以百万计且不断增长的表时,使用约束也会带来巨大的开销

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

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

编辑:

比如说,在一个多人关系中,它会自动创建带有适当索引的关系表,但同时也会在两列上设置外键约束,或者如果我有一个一人关系,它会在该关系上设置外键约束


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

可在条令的JIRA中找到:

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

User:
  attributes:
    export: tables
  columns:
或使用php:

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

现在,它将只导出表定义,而不导出任何外键。您可以使用:无、表、约束、插件或全部。

您能更具体一点吗?我不太清楚你在问什么,我不知道你在说什么。您是在创建数据库,然后从中生成实体吗?如果是这样的话,只需去掉外键约束,您的实体将只使用整数而不是完整实体生成。这样它就不会拉取存在的关系。我需要一个框架来获取关系,而不需要对数据库使用外键约束。没有外键约束不会影响代码获取关系数据的方式,因此如果手动删除这些约束,它仍然可以正常工作。也就是说,如果我做了
$object->getOtherObjects()关系必须存在,它才能以本机方式执行此操作,但不受约束。这就是我目前正在做的事情-但这意味着,今后我不能再依赖框架来管理数据库,这是一个节省大量时间的漂亮功能。框架中确实应该有一个选项来禁用外键约束,我希望可能有其他人已经走上了这条路,并且有一个简单的方法。非常好。您能为特定字段定义它吗?我很好奇,因为我们有一个数据库,其中每个表都有一个连接到用户的审计列(如由用户创建的),但我们不希望外键限制带来额外的开销。Doctrine2中没有这样的常量
原则:ATTR\u EXPORT
。你指的是与教义无关的东西。你是如何在Symfony2/Doctrine2项目中实现这一点的?我使用了yml方法,但你基本上是从票证上复制了这个概念。这看起来很好,谢谢你-尽管如果这是针对条令1.2和Symfony2…它仍然适用于最新版本吗?Symfony3和Doctrine2.5