flyway简介

Flyway是一个开源数据库迁移工具。与配置相比,它极力主张简单和约定。

Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 SQL 脚本,也可以写在 Java 代码中,不仅支持 Command Line 和 Java API,还支持 Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。

它仅基于7个基本命令: 迁移, 清理, 信息, 验证, 撤消, 基线和 修复。

为什么使用flyway?

在版本迭代中经常会对数据库的结构或数据进行操作,如果生产数据库忘记对进行迭代操作那就完蛋了,所以经对数据库的操作写入文件中,在部署上线的时候自动执行sql脚本;

如何使用flyway

一、引入flyway

如果使用springboot,可以直接引入,默认

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

二、在配置中增加文件目录db,再创建目录migration(注:一定一个一个的创建)

sql文件命名规则(V(默认值)+版本号 +下划线+名字+结束符(.sql))

 三、在项目中配置数据库配置

四、启动springBoot项目,会自动执行db.migration中的最后一个版本的sql文件,执行sql语句

启动后会自动创建一张表

五、查看数据库:

1:旧版本生成的表为:schema_version

代码是

2:新版本生成的表为:flyway_schema_history

 表结构为

代码是:

 使用:每次升级我们只需要安装版本顺序号创建一个新文件,将sql脚本写入这个文件中即可;

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐