介绍
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等插件!
支持的数据库包括 Oracle, SQL Server(包括Amazon RDS和Azure SQL数据库), Azure Synapse(以前称为数据仓库), DB2, MySQL(包括Amazon RDS,Azure数据库和Google Cloud SQL), Aurora MySQL, MariaDB, Percona XtraDB集群, TestContainers, PostgreSQL(包括Amazon RDS,Azure数据库,Google Cloud SQL和Heroku), Aurora PostgreSQL, Redshift, CockroachDB, SAP HANA, Sybase ASE, Informix, H2, HSQLDB, Derby, Snowflake, SQLite和 Firebird。
编码
项目依赖
dependencies {
// https://mvnrepository.com/artifact/org.flywaydb/flyway-core
implementation group: 'org.flywaydb', name: 'flyway-core', version: '7.7.0'
}
项目配置
- 在classpath下新建/db/migration文件夹,并创建sql脚本文件: