SpringBoot整合Flyway管理数据库版本

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

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

<!--数据库版本控制-->
<dependency>
   <groupId>org.flywaydb</groupId>
   <artifactId>flyway-core</artifactId>
   <version>5.0.3</version>
</dependency>

2.application.yml添加flyway的属性

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

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

SQL 脚本文件及Java 代码类名必须遵循以下命名规则:V<version>[_<SEQ>][__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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值