读书人

flyway框架对数据库迁移的支持配置(基

发布时间: 2013-01-26 13:47:03 作者: rapoo

flyway框架对数据库迁徙的支持配置(基于ruby on rails的db migrate 思想)

目的:基于ruby on rails 的思想找到在java web下能够支持数据库常变更的一个框架(或者类似的框架)

引用oracle的ruby on rails :http://www.oracle.com/technetwork/cn/testcontent/kern-rails-migrations-085789-zhs.html


在项目源码包中:

路径为 :db/migration 【如果不喜欢可以自己根据配置来命名位置】

命名规范:

flyway框架对数据库迁移的支持配置(基于ruby on rails的db migrate 思想)

1、前缀(可配置,默认值:V)

2、版本(以点或下划线区分开来,只要你喜欢,你可以使用很多地方)

3、分隔符(两个下划线)

4、描述(下划线或空格分开)

5、后缀(可配置,默认情况下:SQL)


与spring管理配置

<bean id="flyway" class="com.googlecode.flyway.core.Flyway" init-method="migrate">    <property name="dataSource" ref="..."/>    ...</bean><!-- The rest of the application (incl. Hibernate) --><!-- Must be run after Flyway to ensure the database is compatible with the code --><bean id="sessionFactory" class="..." depends-on="flyway">    ...</bean>


把dataSource 配置你的dataSource 、sessionFactory 依赖flyway就可以了。

关于flyway 的bean 里的init-method 方法。

第一次可能需要你改为init方法 初始化 schema_version表。

之后改为migrate就可以了。


注意:flyway不支持版本回滚。(需手动,比较悲剧的一点)


以后数据多改栏位、或者类型的就不用来回通知研发人员了。

直接写个版本sql文件就可以了,项目启动时候会查看哪个执行过哪个没执行。

flyway直接会往高版本迁徙。



flyway 源码

http://grepcode.com/file/repo1.maven.org/maven2/com.googlecode.flyway/flyway-core/0.6/com/google/code/flyway/core/Flyway.java



读书人网 >其他数据库

热点推荐