前言:最近工作上遇到个问题,项目开发过程中,开发代码可以通过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会自动帮你更新数据库版本的。
over!
相关推荐
主要介绍了Flyway详解及Springboot集成Flyway的详细教程的相关资料,需要的朋友可以参考下
主要介绍了快速掌握和使用Flyway的详细教程,需要的朋友可以参考下
kingbase 数据库 flyway 插件,导入此jar在依赖 flyway-8.5.13.jar 版本即可,人大金仓 数据库 国产数据库
flyway-springboot.zip_springboot集成flyway数据库版本管理工具,用flyway,可以自动监控sql脚本的变化,实现sql脚本的版本管理
1、解压flyway-commandline-6.4.2-linux-x64.tar.gz或flyway-commandline-6.4.2-windows-x64.zip包; 2、把path目录里的lib目录拷贝到解压目录里进行覆盖; 覆盖lib/community/flyway-core-6.4.2.jar包是去除不...
Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations可以写成SQL...
数据库迁移工具flyway样例工程
springboot 整合 flyway
数据库版本控制Flyway的demo
Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 ...
flyway-4.0.3数据库执行工具,可用于执行flyway语句,快速生成数据库表初始化工作
主要介绍了SpringBoot整合flyway实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springboot集成flyway实现数据库版本自动升级及冲突问题解决,灵活实现升级语句的自主执行
java实现的数据库版本管理工具,有效管理已存在的数据库,方便开发人员及维护人员的日常工作
本文适合但不限于软件开发人员阅读。本文档能够使阅读者对flyway有一个宏观且全面的了解,并且能够在Springboot应用中配置并开始使用flyway对数据库进行管理。文档最后还包含了常见问题说明
基于flyway的6.5.7版本修改flway-core ,支持国产数据库,暂时处于自测阶段,使用连接kingbase进行管理正常。
flyway-maven-plugin flyway maven plugin 是基于flyway的的数据库脚本升级插件 使用方式 1. 在resources下创建application.propeties,存放数据库相关配置 #default表示数据源的名字 db.default.url=jdbc:mysql://...
flyway手动同步包
用于数据库升级,降级,简单实用 亲测可用,大家有什么不懂得直接留言
Spring-mvc spring ,mvc 适合入门