flyway 3.0 3.1配置指南

介绍flyway这个数据库迁移的文章很多,但是没有针对最新3.0版本的配置,现在放出一份spring环境下3.0的配置方式

 

1.maven

<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
    <version>3.0</version>
</dependency>

 

2.spring配置文件

注意的是如果有持久层框架需要在flyway启动后运行,即需要depends-on="flyway"

<!-- flyway配置 -->
<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
    <property name="dataSource" ref="dataSource"/>
    <property name="encoding" value="UTF-8"/>
    <property name="table" value="MY_SCHEMA_VERSION"/>
    <property name="locations" value="db/migration"/>
    <property name="initOnMigrate" value="true"/>
    <property name="initVersion">
        <bean class="org.flywaydb.core.api.MigrationVersion" factory-method="fromVersion">
            <constructor-arg value="0"/>
        </bean>
    </property>
</bean>

<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" depends-on="flyway">
...
</bean>

 

3.1 版本initOnMigrate改成baselineOnMigrate,initVersion改成baselineVersion

 

<!-- flyway配置 -->
<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
    <property name="dataSource" ref="dataSource"/>
    <property name="encoding" value="UTF-8"/>
    <property name="table" value="LEARN_TEST_SCHEMA_VERSION"/>
    <property name="locations" value="db/migration"/>
    <property name="baselineOnMigrate" value="true"/>
    <property name="baselineVersion" >
        <bean class="org.flywaydb.core.api.MigrationVersion" factory-method="fromVersion">
            <constructor-arg value="0"/>
        </bean>
    </property>
</bean>

 

3.脚本文件

根据上面的配置可以看到需要在db/migration创建一个 Vx_x_x__name.sql的文件(x是版本,最后一个版本号和文件名中间是两个下划线,文件名之间也用下划线连接),位置和版本号开始信息均配置在配置文件中


flyway 3.0 3.1配置指南

内容为DML或DDL均可。

 

你可能感兴趣的:(数据库迁移,3.0,flyway)