1

我有一个关系数据库,但是,没有定义任何外键,而且很多表都没有InnoDB,所以无论如何都不能支持外键。

我想开始在这个数据库上试验 Doctrine,但是文档中有很多外键引用,所以我不确定这是否可能。

我对潜入并将表存储引擎更改为InnoDB并定义大量外键感到焦虑,因为如果不需要,我不想影响性能。

  • Doctrine 是否需要定义外键来管理实体之间的关联?
  • 如果不是必需但可选,如果我没有定义外键,我会牺牲 Doctrine 的哪些功能?
4

2 回答 2

2

你没有理由切换到 InnoDB for Doctrine。

  1. 不。
  2. 我发现 Doctrine 用于更新和生成数据库模式的 CLI 工具通常会尝试使用外键生成 SQL。您可以手动设置数据库,或修改它生成的代码,以避免这种情况。

所以,,这不是问题。

于 2012-08-28T10:09:54.973 回答
0

如果您为您的实体定义了一些关联映射,它可能会自动按原则转换为外键

http://docs.doctrine-project.org/en/latest/reference/association-mapping.html

我你也想要你的数据库中的那些外键你必须使用学说 CLI 来创建你的模式

有关使用学说 cli 的更多信息:http: //docs.doctrine-project.org/en/latest/reference/tools.html

于 2012-08-28T09:57:43.803 回答