过滤 Flyway 迁移
Filtering Flyway migrations
我使用的是 Flyway core 8.0.5,我是这样配置的:
FluentConfiguration fluentConfiguration = Flyway.configure()
.dataSource(getDataSource())
.locations(Optional.ofNullable(scriptsMap.get(getDbVendor())).orElseThrow(() -> new IllegalStateException("Unrecognized case: " + getDbVendor())))
.encoding("UTF-8");
现在我想要两种模式 - 从给定位置执行所有脚本 - 上面已经准备好了,第二种模式是相同的但我想过滤 Flyway 迁移并只执行脚本名称中有 DDL 的那些, 例如 script_1_DDL.sql
这可能吗?如何实现?
在你的情况下这应该有效:
Flyway.configure()
.sqlMigrationSuffixes("DDL.sql")
.load()
参考文献:https://flywaydb.org/documentation/configuration/parameters/sqlMigrationSuffixes and https://flywaydb.org/documentation/usage/api/javadoc/org/flywaydb/core/api/configuration/FluentConfiguration.html#sqlMigrationSuffixes(java.lang.String...)
我使用的是 Flyway core 8.0.5,我是这样配置的:
FluentConfiguration fluentConfiguration = Flyway.configure()
.dataSource(getDataSource())
.locations(Optional.ofNullable(scriptsMap.get(getDbVendor())).orElseThrow(() -> new IllegalStateException("Unrecognized case: " + getDbVendor())))
.encoding("UTF-8");
现在我想要两种模式 - 从给定位置执行所有脚本 - 上面已经准备好了,第二种模式是相同的但我想过滤 Flyway 迁移并只执行脚本名称中有 DDL 的那些, 例如 script_1_DDL.sql
这可能吗?如何实现?
在你的情况下这应该有效:
Flyway.configure()
.sqlMigrationSuffixes("DDL.sql")
.load()
参考文献:https://flywaydb.org/documentation/configuration/parameters/sqlMigrationSuffixes and https://flywaydb.org/documentation/usage/api/javadoc/org/flywaydb/core/api/configuration/FluentConfiguration.html#sqlMigrationSuffixes(java.lang.String...)