2013-07-24 1 views
2

Nous utilisons Flyway pour maintenir à jour de nombreuses bases de données dans nos environnements de test avec des scripts SQL et cela fonctionne très bien. Mais nous avons aussi un besoin spécial de mettre à jour les bases de données avec les fichiers csv. Je sais que Flyway propose des migrations basées sur Java pour gérer des mises à jour plus compliquées. Mais le problème est que ces classes Java ont la version voulue dans leurs noms, ce qui nous obligerait à recompiler la classe chaque fois que nous voulons l'utiliser. Il serait plus simple si nous pouvions déposer nos fichiers csv dans les répertoires de migration exactement comme nous le faisons avec les fichiers sql. Ensuite, un code Java spécifique gérerait ces fichiers csv pour faire la bonne mise à jour. Alors, comment pouvons-nous étendre Flyway avec ce code spécifique qui gèrerait nos fichiers csv? MerciMigration spécifique à Flyway avec fichiers csv

Répondre

0

Il n'y a pour le moment aucun support. Semble le même problème que https://github.com/flyway/flyway/issues/469

Je ne suis toujours pas sûr de savoir comment résoudre ce problème sans exposer trop d'éléments internes de Flyway.

+0

Vous avez raison, c'est la même chose que le problème que vous donnez. –

+0

J'ai juste besoin d'une nouvelle classe CsvMigrationExecutor. Il peut être défini dans flyway.properties de cette manière: - ajouter une clé flyway.extensions = csv (ie une liste d'extensions) Pour chaque extension, définissez d'autres clés: - flyway.csvMigrationPrefix (par défaut "V") et flyway.csvMigrationSuffix (par défaut le nom de l'extension) - flyway.csvMigrationExecutorClass (nom de la classe implémentant MigrationExecutor pour effectuer la migration spécifique) La classe MigrationResolver peut être une classe par défaut basée sur SqlMigrationResolver –

Questions connexes