[1.4]Ordre des requêtes dans la tâche data-load
Bonjour à tous,
dans mon schéma, j'ai une relation n-n déclarée comme suit (.yml résumé) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
CustomerOrder:
columns:
blabla
relations:
Status:
foreignAlias: Orders
class: OrderStatus
refClass: CustomerOrderHistory
OrderStatus:
columns:
blabla
CustomerOrderHistory:
columns:
customer_order_id: { type: integer, primary: true }
order_status_id: { type: integer, primary: true }
relations:
CustomerOrder:
foreignAlias: History
onDelete: cascade
onUpdate: cascade
orderBy: rank ASC
OrderStatus:
onDelete: restrict
onUpdate: cascade |
le problème se trouve au niveau de la déclaration onDelete en rouge : la tâche doctrine-data-load plante à cause de cette contrainte car elle n'arrive pas à supprimer la table OrderStatus.
La solution rapide et sale consiste évidemment à supprimer la contrainte mais je n'aime pas ce genre de bidouilles, la contrainte sur le onDelete est une sécurité que je ne veux pas faire sauter.
La question est alors : comment faire pour que le data-load supprime les tables dans le bon ordre ? Il suffirait qu'il supprime d'abord la table CustomerOrder (ce qui supprimerait en cascade les entrées dans CustomerOrderHistory) pour que les choses se passent bien. Y a t'il moyen de lui indiquer cet ordre quelque part dans les fichiers .yml ?