Добавление в существующее приложение ColdFusion 2016 ORM - PullRequest
0 голосов
/ 06 сентября 2018

Я работаю над добавлением в приложение ColdFusion 2016 с ORM. Приложение загружается и не выдает никаких ошибок до добавления второго кода таблицы (TableTwo). Как только код второй таблицы добавлен, выдается сообщение об ошибке:

Невозможно создать таблицу XXXXX. YYYYY (номер ошибки: 150 "ограничение внешнего ключа неправильно сформировано ")

Где XXXXX - имя приложения в целом, а не TableOne, TableTwo или BaseTable.

Есть ли какие-либо идеи относительно того, что заставляет приложение выдавать такую ​​ошибку?

Если я удаляю все ссылки на TableTwo и перезагружаю ORM, приложение снова запускается. TableOne и TableTwo необходимо присоединиться к 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";

}
...