Bonjour,
J'ai une DB avec plusieurs tables et des relations entre elles avec des FK.
Je veux vider toute la DB en effaçant les contenu de toutes les tables sans faire de DROP TABLE.
Je commence à effacer toutes les tables enfants, et je termine par les parents (ceux qui sont référencés par les FK des enfants). En faite j'efface à l'ordre inverse du remplissage de la DB.
J'arrive à effacer la plupart des tables en faisant
DELETE FROM table CASCADE;
Sauf que 3 tables résistent et ne veulent pas s'effacer. Toutes les 3 sont est référencée par FK par 2 tables respectivement qui sont déjà vides.
La commande DELETE s’exécute sans fin, j'ai même laissé tourner la nuit, le lendemain le DELETE n'a toujours pas fini d'effacer la table.
Je ne comprends pas: pour quelle raison je n'arrive pas à effacer ces tables qui sont référencées par des FK des tables vides. D'autres tables se sont effacées sans problème et d'autres bloquent. Parmi les tables effacées figure même une table référencée par 5 autres tables.
Le seul moyen que j'ai trouvé de les effacer c'est de faire un ALTER TABLE table DISABLE CONSTRAINT et ensuite effacer, mais je n'ai toujours pas compris pourquoi il y a eu un tel blocage.
Il faut dire aussi qu'en environnement de DEV j'ai le droit de faire ALTER TABLE, mais en prod je ne les aurais pas, donc j'aimerais bien comprendre ce qui se passe.
Quelqu'un a une idée?![]()
Partager