简述
Migration Tools是一个能帮你自动执行、管理和校验SQL脚本的工具。
常见的Tools有Flyway、Liquibase、Mybatis Migrations
这里我们介绍Flyway的使用
基本使用
我们在项目中可以创建一个Migration文件夹,里面存放我们希望数据库执行的sql文件,文件名要符合规范
Flyway的脚本类型分版本控制类和可重复执行类
首先是版本控制类,分别由 V版本号__描述 组成
可重复执行类
Flyway常用命令
Flyway可以通过gradle插件的方式运行,在build.gradle中的plugins一栏加入Flyway插件
plugins { id "org.flywaydb.flyway" version "5.2.5" }
然后在下方配置flyway的配置项
flyway { url = '数据库连接url' user = '用户名' password = '密码' }
然后就可以通过gradle命令行的方式运行Flyway命令,例如:
./gradlew flywayMigrate -i
Migrate | 顺序执行当前所有脚本 |
Info | 展示当前Migrate的状态信息,包含未执行的和已执行的 |
Validate | 校验当前的Flyway脚本是否正确,会和数据库中已执行的脚本作比较 |
Baseline | 在非空的数据库中初始化flyway,需查看flyway_schema_history当前应该新建的版本好号 |
Repair | 清空当前执行错误的脚本,并更新有变化脚本的信息(谨慎使用) |
Repair
当一个脚本执行失败后,修改里面的内容再次执行也是会失败的,因为flyway会记录执行失败的checksum值
就需要Repair命令,更新所有脚本,但需要慎重使用,因为可能会不小心改到对的脚本
作为代替我们可以新增脚本,或者我们可以手动删除flyway_schema_history的错误字段
References
https://www.cnblogs.com/softidea/p/6249534.html
标签:脚本,Flyway,数据库,flyway,详解,Migration,执行,Tools From: https://www.cnblogs.com/CNLayton/p/16875674.html