Doctrine ORM에서 defining cascade behavior으로 고생하고 있습니다.Doctrine 1.2에서 삭제를 계단식으로 배열하는 방법은 무엇입니까?
the documentation에 따르면 데이터베이스 수준의 캐스케이드에 onDelete: CASCADE
을 사용한다고 가정합니다.
완전한 예는 Symfony tutorial에서 볼 수 있습니다.
그러나 이러한 모든 계단식 사양은 내 스키마에서 무시됩니다. 물론
Advancement:
columns:
association_id:
type: integer(4)
notnull: true
task_id:
type: integer(4)
notnull: true
state:
type: enum
values: ['todo', 'current', 'done', 'cancelled']
notnull: true
relations:
Association:
class: Association
local: association_id
foreignType: one
onDelete: CASCADE
Task:
class: Task
local: task_id
foreignType: one
onDelete: CASCADE
, 작업 및 협회 테이블이 올바르게 정의되어
여기에 관련 발췌 한 것입니다. 너무 긴 질문을 피하기 위해 여기에 게시하지는 않겠지 만 필요한지 물어보십시오. (...도 아니고 REFERENCES
, 그런데)
CREATE TABLE advancement
(id INTEGER PRIMARY KEY AUTOINCREMENT,
association_id INTEGER NOT NULL,
task_id INTEGER NOT NULL,
state VARCHAR(255) NOT NULL);
CASCADE
추적하지 : 여기
내가 잘못하고있는 것을 아는 사람이 있습니까?
Doctrine은 생성 된 sql (data/sql/schema.sql)의 끝에 외래 키 관계를 생성하고 거기에 있는지 확인합니다. – Maerlyn
아니, 실제로 생성 된 모든 SQL을 통해'grep'ped가 있고,'CASCADE'의 흔적은 없습니다 ... 정밀도에 감사드립니다! – MattiSG