2010-07-12 5 views
0

Je travaille sur quelque chose qui utilise Hibernate pour l'accès à la base de données. J'ai tout mis en place et de travail afin que je puisse utiliser mvn hibernate3: hbm2ddl pour construire le schéma de base de données, et j'utilise mvn liquibase: mise à jour pour remplir les données initiales dans la base de données (DBUnit était mon premier essai mais je ne pouvais pas t le faire travailler avec Oracle et Liquibase a juste fonctionné la première fois). Mon problème est que si j'exécute hbm2ddl pour supprimer et recréer le schéma, les tables Liquibase DATABASECHANGELOG restent intactes, ce qui signifie que Liquibase ne recréera pas les données la prochaine fois qu'elles seront exécutées. Pour contourner cela, j'ai configuré mvn sql: execute pour effectuer une chute sur les deux tables en question, mais cela signifie que pour être sûr si je veux construire la base de données à partir de zéro, j'ai besoin d'exécuter mvn hibernate3: hbm2ddl sql: execute liquibase: update "Exécution Maven pour exécuter plusieurs plugins en séquence

Ce que j'aimerais vraiment, c'est pouvoir configurer quelque chose qui va exécuter la commande sql: execute quand la commande hibernate3: hbm2ddl est exécutée, de sorte que je sais que faire ça commande me laissera dans un bon état de base de données propre. A défaut, une configuration qui exécutera un certain nombre de commandes en séquence automatiquement, donc je pourrais configurer par exemple "mvn execute: db-rebuild" pour exécuter les trois commandes ci-dessus automatiquement.

J'ai vu une mention de mojo-executor mais aucun exemple sur comment l'utiliser. Je ne suis même pas sûr que ce soit le bon outil pour ce que je veux ...

Répondre

0

Pourquoi ne pas lier ces choses différentes à une chose particulière comme la phase d'intégration-test. L'ordre des plugins va définir l'ordre des exécutions. Que vous vous débarrasser de l'appel à la main mvn ...

+0

Parce que je veux seulement à ces travaux rarement, et pas sur chaque build ... – Graham

+0

Ok - J'ai lu sur l'intégration-test maintenant que je suis sur un vrai ordinateur, et on dirait qu'il fera exactement ce que je veux. – Graham

Questions connexes