社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
本文主要记录一下使用flyway管理spring boot测试环境的数据库(h2)
之前直接使用的spring.datasource里面的schema和data属性配置的,不过数据库一直变更,每次都修改相关的配置文件太麻烦了,于是引入了flyway,进行版本管理,以后变更数据库,可以直接添加高版本的配置文件即可。
testCompile "org.flywaydb:flyway-core:5.2.4"
在application.yml文件中添加配置:
spring:
flyway:
enabled: true
locations: classpath:db/migration
baseline-on-migrate: true
baseline-version: 1
validate-on-migrate: true
在test下的resources目录下面创建目录:db/migration
在该目录下创建flyway的相关数据库配置文件,可以包括表的创建修改、表内数据的增删改等。
文件的格式:
数据的迁移一共有三种类型:Versioned Migrations、Undo Migrations、Repeatable Migrations
DROP table if exists user;
create table user
(
user_key varchar(50) not null
primary key,
name varchar(100) not null,
description varchar(100) null,
email varchar(100) null,
photo varchar(100) null
);
文件V1_2__initial_data.sql:
INSERT INTO user (user_key, name, description) VALUES ('LG001', 'Lucy', 'A good girl');
然后启动spring boot的测试时,将自动使用flyway进行数据库的初始化操作。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!