前言:
最近工作上遇到个问题,项目开发过程中,开发代码可以通过svn来版本控制,但数据库又该如何来管理呢?多个人接触数据库,当对表、字段或数据修改后,又怎么来同步呢?经过苦寻,发现了个叫flyway的开源项目:http://flywaydb.org/ ,java编写,官方的介绍就是我的初衷,岂能不心动?
官网是英文的,查了下居然没有中文文档,难道没有中国人用?
慢慢看了下官方文档,试着做了下,一次成功!(离开电脑,蹦达几下,继续坐回电脑)
自己写个小教程吧
1、将flyway-core-2.3.jar放到项目lib中,下载地址:http://flywaydb.org/getstarted/download.html
2、在src目录下建立保存sql版本文件的路径:src/db/migration,flyway默认查找路径,可以改,但没必要。
3、在sql版本文件路径中增加sql文件,命名规则,如:V1__2014_4_13.sql ,V开头+版本号+双下划线+描述,描述中可以有下划线,后缀为sql。别问能不能修改这个规则,否则,我咬你。
4、增加flyway的java类,有命令行工具,但还是java类用起来方便,如下:
package com.cms.flyway; import java.io.IOException; import java.util.Properties; import com.googlecode.flyway.core.Flyway; public class FlywayApp { // 读取数据库配置参数 private static Properties config = new Properties(); static { try { config.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("activerecord.properties")); } catch (IOException e) { e.printStackTrace(); } } // 执行数据库版本升级 public static void migration() { // Create the Flyway instance Flyway flyway = new Flyway(); // Point it to the database flyway.setDataSource(config.getProperty("com.et.ar.ActiveRecordBase.url"), config.getProperty("com.et.ar.ActiveRecordBase.username"), config.getProperty("com.et.ar.ActiveRecordBase.password")); flyway.setInitOnMigrate(true); // Start the migration flyway.migrate(); } }
5、在服务器启动的时候或者定时器 执行该类的migration()方法即可。
6、第一次执行会生成一个专门存放数据库schema_version的表
7、以后数据库有了新的改动,导出新版本sql文件(如:mysqldump -u -p databasename>/xx.sql)改为新版本命名文件放到db.migration路径下,flyway会自动帮你更新数据库版本的。
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Flyway数据库版本控制的教程详解”评论...
更新日志
2024年04月24日
2024年04月24日
- 群星.1998-还珠格格·苍天有泪琼瑶大卖连续剧全纪录EP【上华】【WAV+CUE】
- dnf燃烧疲劳值什么意思
- dnf男大枪110版本装备搭配
- dnf畅玩任务系统的限定任务
- 《恶意不息》沃里克打法技巧
- 《恶意不息》属性点数作用介绍
- 《消逝的光芒2》1.16版本更新汇总
- 刘德丽《赤的疑惑HQCD》头版限量编号MQA[低速原抓WAV+CUE]
- 冯满天《弦歌满天·山上》阮月原创作品集[低速原抓WAV+CUE]
- 老虎鱼《EvenSantaGetsTheBlues圣诞老人也蓝调》iso
- 艾什莉体模COS《原神》角色:猫娘绮良良
- 《星刃》全球过审未删减 网友调侃日本审核制度
- PS官方分享《星刃》女主水下效果:动作流畅表情僵硬
- 群星《乘风踏浪 电视剧专辑》[FLAC/f分轨][110.36MB]
- 胡彦斌《音乐密码》[WAV分轨][379M]