Mysql
 sql >> Database >  >> RDS >> Mysql

Grails 2.4.4 DataSource create-drop non riesce a eliminare tutte le tabelle con FK

Nel mio caso, l'impostazione dei controlli FK su 0 per MySQL (v5.5.25) ha risolto il problema, anche se non sono del tutto sicuro di dover SET FOREIGN_KEY_CHECKS=0 affatto.

Se qualcuno ha una soluzione migliore, si prega di condividere.

MODIFICA

Il problema è stato affrontato a causa di questo . Lezione appresa:non copiare e incollare codice casuale senza pensare ~:-/

RISPOSTA

Grazie Burt.

Se DB si comporta in modo irregolare rispetto alle operazioni ddl. Controlla sempre ddl.sql generato da grails schema-report , che idealmente dovrebbe avere la seguente struttura

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