Flyway数据迁移工具使用和安装

以前生产环境数据库增加字段是写一个sql放入本地,到时候部署生产环境的时候先手动执行sql,在部署项目。Flyway数据迁移工具主要是用来控制数据库增删改的版本控制,类似于git,可是相比git代码管理,他的版本控制是通过数据库当中的flyway_schema_history来控制的,这样每次部署生产环境的时候就不需要人工再去执行sql,部署项目的时候sql会自动执行。

先新建一个springboot项目
pom.xml



    4.0.0
    com.flywaydb
    flywaydb
    1.0-SNAPSHOT
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.11.RELEASE
         
    
    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            mysql
            mysql-connector-java
            8.0.15
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            mysql
            mysql-connector-java
        
        
            org.flywaydb
            flyway-core
            5.2.4
        
        
            org.flywaydb
            flyway-core
        
    

application.yml配置

server:
  port: 8091
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&rewriteBatchedStatements=true&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: root
  flyway:
    enabled: true
    # 禁止清理数据库表
    clean-disabled: true
    # 如果数据库不是空表,需要设置成 true,否则启动报错
    baseline-on-migrate: true
    # 与 baseline-on-migrate: true 搭配使用
    baseline-version: 0
    locations:
      - classpath:db/migration/mysql  #(根据个人情况设置)

再resource新建db.migration.mysql
然后创建两个文件,文件名为:版本号增删改查(Add,Create,update)表名.sql
V1__Create_test111_table.sql

create table test111 (
    ID int not null,
    NAME varchar(100) not null
);

V2__Add_test111.sql

insert into test111 (ID, NAME) values (1, 'Axel');
insert into test111 (ID, NAME) values (2, 'Mr. Foo');
insert into test111 (ID, NAME) values (3, 'Ms. Bar');

然后运行springboot项目,如果能正常启动,可以在mysql中看到以下两张表

image.png

相关文章推荐:Flyway 简单入门教程

你可能感兴趣的:(Flyway数据迁移工具使用和安装)