我一直在使用flyway来处理我的sql脚本迁移,并对此非常满意。然而,当我决定继续使用弹簧靴和飞路时,我试图从应用程序运行不同的飞路命令时卡住了。
当我运行我的胖子应用程序时,会自动执行migrate
flyway命令。一切顺利,直到其中一个脚本在linux中失败(因为区分大小写)。因此,当我想执行repair
命令时,我无法执行此操作,因此我必须手动删除schema_version
表中的条目。
所以,我的问题是,如果甚至可以通过应用程序通过其他flyway命令,而无需创建自定义flyway处理程序并仅使用其本机集成。
我没有为command
或类似的东西找到任何弹簧启动属性。
任何帮助?
答案 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。