Hallo zusammen,
ich habe die Category-Entity durch eine CategoryExtension erweitert.
In der Methode defineFields() habe ich auf den Foreign Key ein CascadeDelete-Flag gesetzt:
return new FieldCollection([
(new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey()),
new FkField('category_id', 'categoryId', CategoryDefinition::class),
(new OneToOneAssociationField('category','category_id','id',CategoryDefinition::class,false))->addFlags(new CascadeDelete())
Es funktioniert soweit alles, außer, dass die Datensätze in der verknüpften Tabelle gelöscht werden, wenn die Kategorie gelöscht wird.
In der SQL, die
symfony console dal:create:schema
erzeugt, wird kein „ON DELETE CASCADE“ generiert.
Es funktioniert nur, wenn ich in der Migration den FOREIGN KEY CONSTRAINT mit DELETE CASCADE manuell hinzufüge.
Ist das so korrekt und wenn ja, ist nun meine Frage: Welche Nutzen hat dann überhaupt das DAL-Flag " „CascadeDelete“?
Vielen Dank
Frank