Я работаю над добавлением в приложение 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";
}