已有项目改造——Spring boot集成flyway(粗暴法)

背景

目前项目是spring boot+mysql+maven,因为需要数据库版本管理,因而集成flyway

目标

  1. 集成flyway
  2. 对于已存在的数据库结构不影响

步骤

1.在pom.xml中加入依赖

<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
    <version>5.2.4</version>
</dependency>

2.在项目中,创建放置sql的文件夹

cd src/main/resources
mkdir db/migration

3.导出当前数据库的DDL和数据文件清空数据库

导出数据库

mysqldump -uroot -p Mydb >Mydb.sql

清空数据库

drop database Mydb;
create schema Mydb default character set utf8 collate utf8_general_ci;

4.将导出文件放置到db/migration

mv Mydb.sql db/migration/V1__init.sql

5.编译&&运行项目

#编译打包
mvn package
#运行项目
java -jar target/myproject-0.0.1-SNAPSHOT.jar

6.运行结果

数据库和未集成前一致,且多一个schema_version表,该表是flyway进行版本管理的主表

注意

这个方法简单粗暴,用于数据量不大的情况,如果对于现有的数据库并不想动可以用Baseline方案解决,

相关推荐