flyway使用教程

2020-06-20  本文已影响0人  Learn_Java

flyway

什么是flyway

flyway是一个数据库迁移工具.使用version来记录每一次脚本的执行.

使用场景

主要是用来记录每次迭代的版本sql的表结构的变动.在部署某个版本时,能够快找到这个版本对应的sql,避免出现表结构的错误

如图

image.png

例如

如何使用

flyway提供了以下方式来使用

如果不想入侵到代码中.可以使用 flyway command line工具.这里主要以command line 版本号为5.1.4做例子.

下载地址

官网地址

目录结构

解压的目录如下

image.png

如何使用

配置

image.png image.png

放入需要执行的脚本

能够执行sql目录及其目录以下的所有脚本

image.png image.png

如何执行

image.png

$ sh flyway migrate
Flyway Community Edition 5.1.4 by Boxfuse

Database: jdbc:mysql://ip:port/xxx (MySQL 5.7)
Successfully validated 363 migrations (execution time 00:04.195s)
Current version of schema `xxx`: 0000367
Schema `xx` is up to date. No migration necessary.

最后数据有张表默认是flyway_schema_history记录了flyway的version.

image.png

如何在已存在的库中使用

如果库中已经存在数据,是无法直接使用flyway命令的

flyway的运行原理

主要是通过对比flyway_schema_history表中 versionchecksum.来判断文件是否存在与被修改过.来执行版本控制的.

参考文档

END

上一篇 下一篇

猜你喜欢

热点阅读