Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Grails 2.4.4 DataSource create-drop löscht nicht alle Tabellen mit FKs

In meinem Fall hat das Setzen von FK-Checks auf 0 für MySQL (v5.5.25) das Problem gelöst, obwohl ich mir nicht ganz sicher bin, ob ich SET FOREIGN_KEY_CHECKS=0 soll überhaupt.

Wenn jemand eine bessere Lösung hat, bitte teilen.

BEARBEITEN

Das Problem wurde aufgrund von betroffen . Lektion gelernt - Du sollst zufälligen Code nicht gedankenlos kopieren und einfügen ~:-/

ANTWORT

Danke Burt.

Wenn sich DB bezüglich DDL-Operationen unregelmäßig verhält. Überprüfen Sie immer ddl.sql generiert durch grails schema-report , die idealerweise folgende Struktur haben sollte

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>
....