Morning,
У меня проблемы с созданием таблиц / загрузкой фикстур.
(symfony 1.4.6 с прилагаемой Doctrine 1.2.3 (?))
Таблицы (упрощенные):
Horseman:
tableName: Horseman
actAs: { Timestampable: ~ }
columns:
id: { type: integer(4), primary: true, autoincrement: true, unsigned: true }
name: { type: string(100), notnull: true }
Stable:
tableName: Stable
actAs: { Timestampable: ~ }
columns:
id: { type: integer(4), primary: true, autoincrement: true, unsigned: true }
info: { type: clob }
id_owner: { type: integer(4), unsigned: true }
relations:
Horseman: { local: id_owner, foreign: id }
Horses:
tableName: Horses
actAs: { Timestampable: ~ }
columns:
id: { type: integer(4), primary: true, autoincrement: true, unsigned: true }
name: { type: string(100), notnull: true }
id_owner: { type: integer(4), unsigned: true }
id_stable: { type: integer(4), unsigned: true }
relations:
Horseman: { local: id_owner, foreign: id }
Stable: { local: id_stable, foreign: id }
"Horseman" не имеет никаких зависимостей
У «Конюшни» один «Всадник»
В «Лошадях» есть один «Всадник» и один «Конюшня»
:
Horseman:
Hector:
name: Hector
Stable:
StableA:
info: Lorem Ipsum Dolor Sit Amet
id_owner: Hector
Horses:
Ed:
name: Ed
id_owner: Hector
id_stable: StableA
При вставке креплений:
$ php symfony doctrine:build --all --and-load
я получаю нарушение ограничения:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`issuetracker/Stable`, CONSTRAINT `Stable_id_owner_Horseman_id` FOREIGN KEY (`id_owner`) REFERENCES `Horseman` (`id`))
Запись «Всадник» вставляется без проблем.
Вставка двух других записей вручную тоже не проблема:
INSERT INTO Stable (id,info,id_owner,created_at,updated_at) VALUES (null,"foo",1,NOW(),NOW())
INSERT INTO Horses (id,name,id_owner,id_stable,created_at,updated_at) VALUES (null,"foo",1,1,NOW(),NOW())
(Сохраняет ли Symfony где-нибудь созданные операторы вставки?)
Если я правильно понял, Doctrine должна сама позаботиться о вставке заказов (?) Поскольку я В любом случае я даю правильный порядок, в этом не должно быть проблем ..
В надежде, что я просто не увидел или не понял мелочи, не мог бы кто-нибудь из вас, милые парни, сказать мне, почему я получил это? нарушение ограничений и / или как это исправить, пожалуйста ..
Спасибо.