已有项目改造——Spring boot集成flyway(粗暴法)
背景
目前项目是spring boot+mysql+maven,因为需要数据库版本管理,因而集成flyway
目标
- 集成flyway
- 对于已存在的数据库结构不影响
步骤
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方案解决,