美文网首页
flyway使用教程

flyway使用教程

作者: Learn_Java | 来源:发表于2020-06-20 10:19 被阅读0次

flyway

什么是flyway

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

使用场景

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

如图

image.png

例如

  • v0.1版本有v1-v6的sql

  • v0.2版本有v7-v17的sql

  • 如果用户选择部署v0.1的版本,那么就能找到对应的初始化sql(v1-v6)

  • 如果用户选择部署v0.2的版本,那么就能找到对应的初始化sql(v1-v17)

  • 如果用户选择从0.1升级到0.2版本,那么就能找到对应的初始化sql(v7-v17)

如何使用

flyway提供了以下方式来使用

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

下载地址

官网地址

目录结构

解压的目录如下

image.png

如何使用

配置

  • 进入conf
  • 编辑flyway.conf
image.png image.png

放入需要执行的脚本

  • 把脚本放入sql目录下

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

image.png image.png

如何执行

  • 找到目录下的 flyway命令


    image.png
  • 输入命令 flyway info.检查是否连接成功

image.png
  • 输入命令 flyway migrate执行sql操作

$ 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 baseline 命令.然后再根据上面的步骤执行

flyway的运行原理

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

参考文档

END

相关文章

  • flyway使用教程

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

  • SpringBoot 集成 Flyway

    Flyway简介 为什么使用Flyway SpringBoot集成Flyway Flyway 简介 Flyway ...

  • flyway教程

    示例项目地址: https://github.com/14251104246/flyway-demo [flywa...

  • flyway使用

    一、下载flyway 官网地址:https://flywaydb.org/ 以下演示的所有示例都是Communit...

  • flyway使用

    官网[https://flywaydb.org/] flyway简介 Flyway是一款数据库迁移(migrati...

  • flyway命令行执行

    下载flyway 修改conf/flyway.conf文件 执行flyway命令

  • Flyway快速上手教程

    一、Flyway是什么 官网解释地非常全面,可先大致阅读一下。 简单地说,flyway是一个能对数据库变更做版本控...

  • SpringBoot配置属性-Migration

    flyway flyway.baseline-description 对执行迁移时基准版本的描述. flyway....

  • SpringBoot配置属性之Migration

    flyway flyway.baseline-description对执行迁移时基准版本的描述. flyway.b...

  • Flyway

    Flyway 1. Flyway是什么 Flyway是一款开源的数据库版本管理工具,Flyway可以独立于应用实现...

网友评论

      本文标题:flyway使用教程

      本文链接:https://www.haomeiwen.com/subject/eojatktx.html