Spring Boot集成Flyway(一款非常好用的数据库脚本版本管理)

805 阅读1分钟

介绍

Flyway是一个开源数据库迁移工具。与配置相比,它极力主张简单性和约定性。

它仅基于7个基本命令: 迁移清理信息验证撤消基线修复

可以使用SQL (支持特定于数据库的语法(例如PL / SQL,T-SQL等))或Java (用于高级数据转换或处理LOB)编写迁移。

它具有一个命令行客户端。如果您使用的是JVM,建议您在应用程序启动时使用Java API(也适用于Android)迁移数据库。或者,您也可以使用Maven插件Gradle插件

如果还不够,那么可以 使用Spring Boot,Dropwizard,Grails,Play,SBT,Ant,Griffon,Grunt,Ninja等插件

支持的数据库包括 OracleSQL Server(包括Amazon RDS和Azure SQL数据库)Azure Synapse(以前称为数据仓库)DB2MySQL(包括Amazon RDS,Azure数据库和Google Cloud SQL), Aurora MySQLMariaDBPercona XtraDB集群TestContainersPostgreSQL(包括Amazon RDS,Azure数据库,Google Cloud SQL和Heroku), Aurora PostgreSQLRedshiftCockroachDBSAP HANASybase ASEInformixH2HSQLDBDerbySnowflakeSQLiteFirebird

编码

项目依赖

dependencies {
    // https://mvnrepository.com/artifact/org.flywaydb/flyway-core
    implementation group: 'org.flywaydb', name: 'flyway-core', version: '7.7.0'
}

项目配置

  1. 在classpath下新建/db/migration文件夹,并创建sql脚本文件:

image.png