【发布时间】:2011-09-25 19:39:06
【问题描述】:
我在尝试使用 Propel ORM 从 symfony 项目中的现有数据库构建模型时出错。
错误是这样的:
build-propel.xml:474:20:双向定义外键a_table_on_my_schema_FK_1表示的1:1关系; Propel 目前不支持此功能(如果您必须同时拥有两个外键约束,请考虑使用自定义 SQL 文件添加此约束。)
schema.yml 文件确实很广泛,但是导致错误的表的描述(第一个未正确创建)是这样的:
self_referenced_table:
_attributes: { phpName: SelfReferencedTable }
[...]
JERARQUIC_CODE: { phpName: JerarquicCode, type: INTEGER, size: '8', required: false, foreignTable: self_referenced_table, foreignReference: JERARQUIC_CODE, onDelete: RESTRICT, onUpdate: RESTRICT }
[...]
我认为这个错误是因为自引用表。
我需要在许多元素之间实现一个不规则的关系,所以这个实现是一个很好的方法。但是导致我在施工时出现这个问题。
你能给我一些线索吗?有人有这个错误吗?你会怎么做?
谢谢!! :D
【问题讨论】:
-
我认为这不是因为自引用 table 本身,而是因为自引用 column 在表中。这对我来说似乎没有意义,好像它是单值的,那么它唯一可以引用的记录就是它自己。你确定这就是你的意思吗?
-
好吧,我完全不确定。但只有自引用表在构建时崩溃。如果我将它们从 schema.yml 中删除,则建筑物会正常
标签: mysql symfony1 propel self-reference