2017-07-27 2 views
0

Je souhaiterais pouvoir déployer ma base de données après un échec de déploiement, car dans mon cas, il s'agit de déploiements simultanés et indépendants. La commande flyway clean permet de supprimer les migrations ayant échoué dans la table de migration. L'utilisation de cette commande aide à l'exécution de mes futurs déploiements, mais l'inconvénient est que je perds l'historique des déploiements qui ont échoué.flyway - dire flyway pour réparer la table de migration MAIS garder l'historique des déploiements échoués

Existe-t-il un moyen de dire à la voie de migration de réparer la table de migration et de conserver l'historique des déploiements échoués - par exemple mettre l'indicateur de succès à '2' par exemple. Dans mon cas, tous les déploiements sont indépendants et nous créons des numéros de migration uniques au moment du déploiement - cela nous permet de redéployer n'importe quoi sans tenir compte du statut de la voie de migration (nous n'utilisons que le mécanisme d'automatisation sauvegardes).

Répondre

1

Ceci n'est pas supporté nativement. Je suis d'accord que la suppression de l'historique des migrations échouées serait pratique pour avoir une option.

L'utilisation du callbacks peut vous aider à contourner ce problème. Plus précisément, vous pouvez prendre une copie des migrations échouées dans le rappel beforeRepair. Si vous utilisez des fichiers SQL, créez un fichier beforeRepair.sql (ou tout ce que vous avez pour votre suffixe de migration).

+0

Bien repéré. OMI c'est une solution de contournement acceptable jusqu'à ce qu'il y ait un support natif pour cela. – NicolasW