如何在Spring启动应用程序中运行Flyway命令?

时间:2016-09-08 17:01:30

标签: java spring spring-boot flyway

我一直在使用flyway来处理我的sql脚本迁移,并对此非常满意。然而,当我决定继续使用弹簧靴和飞路时,我试图从应用程序运行不同的飞路命令时卡住了。

当我运行我的胖子应用程序时,会自动执行migrate flyway命令。一切顺利,直到其中一个脚本在linux中失败(因为区分大小写)。因此,当我想执行repair命令时,我无法执行此操作,因此我必须手动删除schema_version表中的条目。

所以,我的问题是,如果甚至可以通过应用程序通过其他flyway命令,而无需创建自定义flyway处理程序并仅使用其本机集成。

我没有为command或类似的东西找到任何弹簧启动属性。

任何帮助?

1 个答案:

答案 0 :(得分:2)

Flyway集成没有SoapHeader.addHeaderElement()属性。如果您愿意,您可以实现自己的command,这是一个方法界面:

FlywayMigrationStrategy

您可以选择一个您传递的命令行参数并执行public interface FlywayMigrationStrategy { /** * Trigger flyway migration. * @param flyway the flyway instance */ void migrate(Flyway flyway); } 而不是repair

migrate

检查文档here