11
votes

Plugins de migration de la base de données Grails

Il y a au moins deux plugins de grails qui émulent la fonctionnalité de migration de la base de données des rails:

  • Autobase
  • Liquibase

    Y a-t-il un consensus sur lequel de ceux-ci est le meilleur, ou existe-t-il un autre plugin qui accomplit mieux la migration de la base de données que celle ci-dessus?


0 commentaires

6 Réponses :


3
votes

J'utilise Autobase (qui est construit sur Liquibase) comme il (la dernière fois que j'ai vérifié) vous permet de vérifier / appliquer automatiquement vos migrations lorsque l'application commence. Avec le plugin Liquibase, je dois le faire moi-même dans le code de servlet init. Cela vous permet de définir votre DataSource sur DBCreate = Aucun et permet à AutoBase Manipuler pour obtenir la définition de la DB.

It fait signifie que vous devez écrire une migration chaque fois que vous ajoutez une propriété à une classe de domaine, mais je pense que c'est une bonne chose car elle vous fait penser à ce que le champ sous-jacent devrait réellement être au lieu de simplement laisser hibernate prendre une supposition.

Je pense que certains du plug-in Autobase (par exemple, Groovy DSL) sont en train d'être migrés sur le plug-in Liquibase, mais vous devez vérifier sur cela.

Le seul inconvénient à Autobase est le manque de bonne documentation. Il y en a un peu mais ce n'est pas complet. Heureusement, le DSL est identique à celui des étiquettes XML Liquibase afin que vous puissiez travailler la plupart d'entre eux.


3 commentaires

Juste regarder la page Autobase - il est maintenant obsolète en faveur de Liquibase


Je ne pense pas que Liquibase a la possibilité de mettre à jour la base de données lorsque votre application commence qui est une très bonne fonctionnalité. J'utiliserais toujours Autobase jusqu'à ce que les migrations font partie du noyau Grails (qui est prévu pour Grails 1.4)


@leebutts - à compter de cette écriture, le plugin DBMigrations (le successeur du plug-in Liquibase) fait prend en charge la mise à jour de la DB sur la demande d'application.



1
votes

J'utilise Liquibase, je ne suis pas sûr que Robert maintienne toujours activement Autobase et que le XML fournit Liquibase est en réalité assez dsl. Je pense que cela donne également un peu de séparation à vos commandes de la base de données et ne le rend pas enraciné dans le processus de démarrage (certaines personnes peuvent préférer l'inverse).


0 commentaires

13
votes

Il y a maintenant un plug-in standard Grails de la base de données disponible. Selon Ce blog post au moins le plug-in Liquibase ne sera donc pas maintenu au-delà de la libération de Liquibase 1.9 plus.

Le nouveau plug-in Migration de base de données a intégré Fonctionnalité pour exécuter des changelogs au démarrage et prend en charge la définition des modifications apportées à Groovy DSL, c'est donc probablement ce que vous recherchez.


0 commentaires

0
votes

J'ai entendu dire que l'autobase est toujours maintenue, mais considérez que le plugin de migration de la base de données GRAVES est écrit par l'équipe principale et sera probablement la prise en charge officielle.

En d'autres termes, vous encourageez à attendre sur GRAVES 1.4 -> feuille de route avant de choisir l'un des plugins ci-dessus.


0 commentaires

1
votes

au moins à partir de grails2.0, le Plugin de migration de la base de données est la manière de défacto de gérer changements de base de données non triviaux. Le plugin est construit sur Liquibase et est rédigé par les personnes SpringSource - toujours une marque de qualité. J'ai écrit un Introduction au plug-in Migration de la base de données qui pourrait être utile à quelqu'un de lire ceci.


0 commentaires

0
votes

Oui, je vois aussi le bouchon de migration. C'est utile ... http://grails-plugins.github.io/grails-database-migration/


0 commentaires