在开发过程中经常会和数据库打交道,随着系统不断升级,功能会逐渐增加,这样就是导致数据库不断的变更,对于维护数据库造成了很多麻烦,flyway简单说就是数据库版本管理工具,可以自己创建数据库,从当前版本数据库升级到最近版本等。接下来我以应用在Spring Boot上来说明。
1. 添加Maven依赖和构建
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>6.3.3</version>
</dependency>
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>6.3.3</version>
</plugin>
2. 在application.yml加入配置
spring:
flyway:
enable: true
baseline-on-migrate: true
table: test_schema_history
datasource:
url: jdbc:mysql://192.168.1.11:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai
password: root
username: 123456
3. 创建目录,src/main/resources/db/migration
4. 创建文件,src/main/resources/db/migration/V1__Create_person_table.sql
create table PERSON (
ID int not null,
NAME varchar(100) not null
);
5. 升级时创建修改文件src/main/resources/db/migration/V2__Add_people.sql
insert into PERSON (ID, NAME) values (1, 'Axel');
insert into PERSON (ID, NAME) values (2, 'Mr. Foo');
insert into PERSON (ID, NAME) values (3, 'Ms. Bar');
注明:文件中的内容在数据库中不存在时会自动创建和升级