添加到现有的ColdFusion 2016 ORM应用程序中

时间:2018-09-05 23:17:45

标签: orm coldfusion foreign-keys mariadb coldfusion-2016

我正在使用ORM添加到ColdFusion 2016应用程序中。在添加第二个表代码(TableTwo)之前,应用程序启动并没有给出任何类型的错误。一旦添加了第二个表代码,它就会显示一条错误消息:

  

无法创建表XXXXXYYYYY(错误号:150“外键约束   格式不正确”)

其中XXXXX是整个应用程序的名称-不是TableOneTableTwoBaseTable

对于导致应用程序产生此类错误的原因是否有任何想法?

如果我删除对TableTwo的所有引用并重新加载ORM,应用程序将再次启动。 TableOneTableTwo需要加入BaseTable,但不会互相加入。

下面是当前代码格式的一个示例。

TableOne.cfc

component {

   property name="id" fieldType="id"  ormtype="int" type="numeric" generator="native";
   property name="baseTableID" ormtype="int" type="numeric" insert="false" update="false";

   //relations
   property name"baseTable" fieldType="one-to-one" cfc="BaseTable" fkcolumn="baseTableID" joincolumn="id" notnull="true"  casecade="save-update";

}

BaseTable.cfc

component {

   property name="id" fieldType="id" ormtype="int" type="numeric" generator="native";

   //relations
   property name="TableOne" fieldtype="one-to-one" cfc="TableOne"  mappedby="baseTable" cascade="all-delete-orphan";

   --Attempting to add a second one
   property name="TableTwo" fieldtype="one-to-one" cfc="TableTwo"  mappedby="baseTable" cascade="all-delete-orphan";

}

TableTwo.cfc

component {

   property name="id" fieldType="id"  ormtype="int" type="numeric" generator="native";
   property name="baseTableID" ormtype="int" type="numeric" insert="false" update="false";

   //relations
   property name"BaseTable" fieldType="one-to-one" cfc="BaseTable" fkcolumn="baseTableID" joincolumn="id" notnull="true"  casecade="save-update";

}

0 个答案:

没有答案