标记跳过飞路迁移序列

时间:2015-07-09 10:18:08

标签: spring database-migration flyway

我们是否有办法根据弹簧配置文件或从属性文件读取的标志跳过飞路迁移。就像下面给出的跳过属性一样。 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>

1 个答案:

答案 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();