官网
概述
flyway是一款数据库迁移工具,核心是提供简单,方便的迁移操作。
flyway提供7个基本命令:Migrate, Clean, Info, Validate, Undo, Baseline, Repair.
支持的数据库包括:
Oracle,
SQL Server (including Amazon RDS and Azure SQL Database),
Azure Synapse (Formerly Data Warehouse),
DB2,
MySQL (including Amazon RDS, Azure Database & Google Cloud SQL),
Aurora MySQL,
MariaDB,
Percona XtraDB Cluster,
TestContainers,
PostgreSQL (including Amazon RDS, Azure Database, Google Cloud SQL & Heroku),
Aurora PostgreSQL,
Redshift,
CockroachDB,
SAP HANA,
Sybase ASE,
Informix,
H2,
HSQLDB,
Derby,
Snowflake,
SQLite
Firebird.
在进行软件开发的过程里,代码很容易可以通过版本工具进行版本控制,如git,svn,但是对于数据库的修改多是依赖于人工运维。
flyway在数据库初始化后会将元数据信息存储在数据库记录中,并不断扫描文件系统并与迁移元数据记录比较,如果迁移文件夹中的文件比当前标识的库中记录的版本低,这些文件被忽略。其他的进入到待执行队列,并通过版本号进行排序执行。
使用
命令
flyway migrate -url=... -user=... -password=...
java api
Flyway flyway = Flyway.configure().dataSource(url, user, password).load();
flyway.migrate();