sql >> Databasteknik >  >> RDS >> Mysql

Grails 2.4.4 DataSource create-drop misslyckas med att ta bort alla tabeller som har FK:er

För mitt fall löste FK-checks till 0 för MySQL (v5.5.25) detta, även om jag inte är helt säker på om jag ska SET FOREIGN_KEY_CHECKS=0 överhuvudtaget.

Om någon har en bättre lösning, dela gärna.

REDIGERA

Problemet uppstod på grund av detta . Lärdom - Du ska inte kopiera och klistra in slumpmässig kod obemärkt ~:-/

SVAR

Tack Burt.

Om DB beter sig oregelbundet w.r.t ddl-operationer. Kontrollera alltid ddl.sql genererad av grails schema-report , som helst bör ha följande struktur

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



  1. Kan inte skapa tabell med preparerat Statement

  2. ROracle dbWriteTable skapar Oracle TIMESTAMP-kolumner för R DATE-kolumner

  3. Sql LEFT OUTER JOIN med WHERE-sats

  4. Datumskillnad i MySQL för att beräkna ålder