我们是否有办法根据弹簧配置文件或从属性文件读取的标志跳过飞路迁移。就像下面给出的跳过属性一样。 skip属性不存在所以它会抛出异常,但我认为你通过查看bean配置得到了一个想法。我们如何使用现有的flyway版本3.2.1在春季实现这一目标
<bean id="flyway-integ" class="org.flywaydb.core.Flyway" init-method="migrate" depends-on="dataSource">
<property name="dataSource" ref="dataSource" />
<property name="initOnMigrate" value="true" />
<property name="validateOnMigrate" value="false" />
<property name="locations" value="migration/prod" />
<property name="skip" value="${dev.mode}" />
</bean>
答案 0 :(得分:2)
您可以使用Spring注释@ConditionalOnProperty
并在Spring配置文件的配置列表中设置flyway.enabled=false
来实现该功能。
@ConditionalOnBean(DataSource.class)
@ConditionalOnProperty(prefix = "flyway", name = "enabled", matchIfMissing = true)
@Bean(initMethod = "migrate")
@ConfigurationProperties(prefix = "flyway")
public Flyway flyway() {
Flyway flyway = new Flyway();