zoukankan      html  css  js  c++  java
  • Flyway 的使用及Spring Boot集成Flyway

    一、简单介绍

    Flyway 是一个开源、跨环境的数据库迁移工具,它强烈主张简单性和约定性而不是配置。

    Flyway 是一个便于多人开发对数据库管理的工具,将sql语句写入文件中,只需要在控制台输入指令就可以完成数据库的修改

    二、使用方法

    参考:Flyway官方文档

    首先添加maven依赖,如果你使用其他管理工具,请依照官网进行使用

    <!--引入flyway插件-->
    <plugin>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-maven-plugin</artifactId>
        <version>5.2.4</version>
        <configuration>
            <url>jdbc:mysql://localhost:3306/db_community</url>
            <user>root</user>
            <password>root</password>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.6</version>
            </dependency>
        </dependencies>
    </plugin>
    

    你只需要会sql语句的写法即可,将你需要执行的sql写入一个文件,文件命名规则为V1.2__Description.sql,前面一个大写字母V,接上数字,然后再写两个下划线,中间是你自定义文件名,尽量做到见名知意,文件以.sql结尾

    存放目录为:resources/db/migration

    打开idea控制台,输入mvn flyway:migrate,出现BUILD SUCCESS即执行成功,即使报错,打印的日志也很清楚,可以很快的找到错误点

    我在上面的文件写了创建user表的语句,执行后发现数据库额外多了一个flyway_schema_history表,这张表实际上记录了你操作的信息

    如果我想为user表添加一个bio字段,直接新建一个sql文件,起好名字,写入sql语句,执行命令,切记,不能在上一个文件里直接修改!!!

    可以看到,真的多了一个字段

    flyway_schema_history表结构如下

    三、常见错误

    如果你遇到这样的错误,百度对应版本,修改版本,使数据库和Flyway版本在同一水平

    这个错误是由于sql文件名写错了导致的,特别注意是两个下划线!!

  • 相关阅读:
    python 序列化
    python 文件目录操作
    正则表达式 贪婪与非贪婪
    python StringIO&BytesIO
    正则表达式 1
    了解HTML表单之input元素的23种type类型
    JS数组reduce()方法详解及高级技巧
    react之组件的shouldcomponentUpdate使用&&Component与PureComponent
    react之setState面试题
    react之setState异步和同步问题
  • 原文地址:https://www.cnblogs.com/songjilong/p/12318572.html
Copyright © 2011-2022 走看看