前言:最近工作上遇到个问题,项目开发过程中,开发代码可以通过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 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 ...
"Flyway详解及Springboot集成Flyway的详细教程" Flyway是一款数据库版本控制管理工具,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里。Flyway提供了多种方式来集成到项目中,如Command...
SpringBoot整合Flyway实现数据库版本控制 在软件开发中,数据库的版本控制是非常重要的一步骤。Flyway是一个流行的数据库版本控制工具,它可以与SpringBoot框架集成,以实现自动化的数据库版本控制。在本文中,我们...
Spring Boot,作为流行的Java应用框架,提供了与Flyway的无缝集成,使得在Spring Boot项目中使用Flyway变得更加便捷。本篇将详细介绍Spring Boot集成Flyway进行数据库版本管理的过程及相关的知识点。 首先,让我们...
Flyway是一款强大的数据库版本管理工具,它以Java为基础,旨在帮助开发者和运维人员有效地管理和维护数据库的演变。在软件开发过程中,随着项目的发展,数据库结构也会随之改变,这些变化需要被系统地记录和管理,...
【Flyway:数据库版本管理利器】 Flyway是一款强大的开源数据库版本管理工具,它使得数据库的迁移变得简单且有序。在“flyway简单测试工程”中,我们可以通过实践来理解其核心概念和工作流程,这对于数据库的开发...
kingbase 数据库 flyway 插件,导入此jar在依赖 flyway-8.5.13.jar 版本即可,人大金仓 数据库 国产数据库
Flyway 是一个开源的数据库版本控制工具,专为管理数据库迁移而设计。它允许开发者以结构化和自动化的方式处理数据库的版本升级和降级,从而确保数据库与应用程序代码的同步。在本例中,我们讨论的是Flyway 5.1.1 的...
### Flyway数据库版本管理 #### 一、Flyway介绍 Flyway是一款强大的开源数据库版本管理工具,它采用了“规约优于配置”的设计理念。这一理念强调的是通过预设的行为模式简化配置,减少错误的可能性,使开发者能够...
SpringBoot集成Flyway的实践可以帮助我们有效地解决这个问题。Flyway是一个流行的开源数据库迁移工具,它允许开发人员以有序的方式管理数据库版本,确保在多环境部署时的一致性。在SpringBoot应用中集成Flyway,可以...
SpringBoot项目中配置Flyway Flyway是一款开源的数据库版本管理工具,它可以独立于应用实现并管理数据库变更,支持数据库版本自动升级。在Spring Boot框架中,默认封装了Flyway,只需要简单的配置就可以使用,其...
Flyway是一款开源的数据库版本控制工具,用于管理数据库版本,帮助开发者进行数据库迁移。在数据库应用开发中,随着项目的迭代,数据库结构的变化是不可避免的,Flyway提供了一种规范化的、自动化的方式来跟踪、管理...
Flyway是一个流行的开源工具,用于管理数据库版本,确保在多用户环境下数据库的一致性和完整性。本Demo将详细介绍如何使用Flyway进行数据库版本控制。 Flyway的核心概念是迁移(Migrations),每个迁移代表数据库的...
**SpringBoot整合Flyway详解** 在Java开发领域,SpringBoot以其简洁、快速的特性深受开发者喜爱,而Flyway则是一款强大的数据库迁移工具。本文将深入探讨如何在SpringBoot项目中集成Flyway,实现数据库版本控制,...
基于flyway的6.5.7版本修改flway-core ,支持国产数据库,暂时处于自测阶段,使用连接kingbase进行管理正常。
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包是去除不...
Spring Boot 项目使用 Flyway 详细教程 Spring Boot 项目使用 Flyway 是一种常见的数据库版本控制方法,本文将详细介绍如何使用 Flyway 实现数据库版本控制,并解决开发人员和运维人员在项目开发和部署过程中遇到的...
Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 ...
springboot集成flyway实现数据库版本自动升级及冲突问题解决,灵活实现升级语句的自主执行