Mysql
 sql >> Base de données >  >> RDS >> Mysql

Grails 2.4.4 DataSource create-drop ne parvient pas à supprimer toutes les tables ayant des FK

Pour mon cas, définir FK-checks sur 0 pour MySQL (v5.5.25) a résolu ce problème, bien que je ne sois pas entièrement sûr si je suis censé SET FOREIGN_KEY_CHECKS=0 du tout.

Si quelqu'un a une meilleure solution, merci de la partager.

MODIFIER

Le problème a été rencontré en raison de ce . Leçon apprise - Tu ne copieras pas de code aléatoire sans réfléchir ~:-/

RÉPONSE

Merci Burt.

Si la base de données se comporte de manière erratique avec les opérations ddl. Vérifiez toujours ddl.sql généré par grails schema-report , qui devrait idéalement avoir la structure suivante

alter table <Table> drop constraint <Constraint>
...

drop table if exists <Table>
...

create table <Table>(...)
...

create index <Index> ...   --(if any)
...

alter table <Table> add constraint <Constraint>
....