2010-01-20 14 views

risposta

13

Ora è disponibile uno standard Grails database migration plugin. Secondo lo this blog post, almeno il plug-in di liquibase non verrà più mantenuto dopo la release di liquibase 1.9.

Il nuovo plug-in di migrazione del database ha built-in functionality per eseguire i changelog all'avvio e supporta la definizione di modifiche in Groovy DSL, quindi è probabilmente quello che stai cercando.

3

Io uso Autobase (che è costruito sopra a Liquibase) poiché (l'ultima volta che ho controllato) consente di controllare/applicare automaticamente le migrazioni all'avvio dell'app. Con il plugin Liquibase devo farlo da solo nel codice init servlet. Ciò consente di impostare l'origine dati su dbCreate = none e lasciare che Autobase gestisca il rendering del DB.

significa che è necessario scrivere una migrazione ogni volta che si aggiunge una proprietà a una classe di dominio, ma penso che questa sia una buona cosa in quanto ti fa pensare a cosa dovrebbe essere il campo sottostante anziché solo lasciando che Hibernate ci provi.

Penso che parte del plug-in di Autobase (ad esempio groovy dsl) sia stato migrato nuovamente al plug-in Liquibase, ma sarebbe necessario verificarlo.

L'unico svantaggio di Autobase è la mancanza di una buona documentazione. Ce ne sono alcuni ma non è completo. Fortunatamente, il dsl è lo stesso dei tag Liquibase xml in modo che tu possa lavorare la maggior parte di esso.

+0

solo guardando la pagina autobase - ora è deprecato in favore di Liquibase –

+1

Non credo che Liquibase abbia la possibilità di aggiornare il DB all'avvio della tua app che è davvero una buona funzionalità .Continuerò ad usare Autobase fino a quando le migrazioni non fanno parte del nucleo di Grails (che è programmato per Grails 1.4) – leebutts

+0

@leebutts - Al momento della stesura di questo documento, il plugin dbMigrations (il successore del plugin Liquibase) supporta _does l'aggiornamento del DB all'avvio dell'applicazione. – cdeszaq

1

Io uso liquibase, non sono sicuro che Robert stia ancora mantenendo attivamente Autobase e l'xml fornito da liquibase è in realtà piuttosto simile a DSL. Penso che dia anche un po 'di separazione ai comandi del database e che non sia radicato nel processo di avvio (alcune persone potrebbero preferire il contrario).

0

Ho sentito dire che Autobase è ancora gestito, ma considera che il plugin di migrazione del database Grails è scritto dal team principale e probabilmente sarà supportato ufficialmente.

In altre parole, ti consigliamo di attendere su Grails 1.4 ->roadmap prima di scegliere uno dei plug-in precedenti.

Problemi correlati