SpringBoot整合Flyway管理数据库版本

Flyway用来管理和执行数据库的升级版本,执行的时候会在数据库里创建表flyway_schema_history,用来记录每次成功执行语句的版本号和sum值。每次执行的时候flyway会扫描数据库脚本是否在记录表里执行过,如果执行过就不进行合并,如果checksum值对应不上,就会报错。

1.pom.xml文件里引入flyway的依赖



   org.flywaydb
   flyway-core
   5.0.3

2.application.yml添加flyway的属性

flyway.baselineOnMigrate: true
flyway.locations: classpath:/db/migration

3.添加sql脚本文件src/main/resources/db/migration目录下

SQL 脚本文件及Java 代码类名必须遵循以下命名规则:V[_][__description] 。版本号的数字间以小数点(. )或下划线(_ )分隔开,版本号与描述间以连续的两个下划线(__ )分隔开。如V1_1_0__Update.sql 。Java 类名规约不允许存在小数点,所以Java 类名中版本号的数字间只能以下划线进行分隔。

V4.0__creat_user_table.sql

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(20) NOT NULL COMMENT '姓名',
  `age` int(5) DEFAULT NULL COMMENT '年龄',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3.启动应用(springBoot的数据源自行配置)

你会发现数据库里新建了表flyway_schema_history

你可能感兴趣的:(springBoot,数据库)