它仅基于 7 个基本命令: Migrate、 Clean、 Info、 Validate、 Undo、 Baseline和 Repair。
迁移可以用SQL (支持特定于数据库的语法(如 PL/SQL、T-SQL 等))或Java (用于高级数据转换或处理 LOB)编写。
它有一个命令行客户端。如果您在 JVM 上,我们建议使用Java API 在应用程序启动时迁移数据库。或者,您也可以使用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 Cluster、 TestContainers , PostgreSQL (包括 Amazon RDS, Azure Database, Google Cloud SQL, TimescaleDB, YugabyteDB & Heroku), Aurora PostgreSQL , Redshift , CockroachDB , SAP HANA , Sybase ASE、 Informix、 H2、 HSQLDB、 Derby、 Snowflake、 SQLite和 Firebird。
spring:
flyway:
# flyway 的 clean 命令会删除指定 schema 下的所有 table, 应该禁掉
clean-disabled: true
db/migration 可配置
2022-05-04 15:11:36.325 INFO 13303 --- [ main] o.f.c.internal.license.VersionPrinter : Flyway Community Edition 7.7.3 by Redgate
2022-05-04 15:11:36.642 INFO 13303 --- [ main] o.f.c.i.database.base.DatabaseType : Database: jdbc:oracle:thin:@localhost:1521:XE (Oracle 12.1)
2022-05-04 15:11:36.793 INFO 13303 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 3 migrations (execution time 00:00.023s)
2022-05-04 15:11:36.815 INFO 13303 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "FLYWAY": << Empty Schema >>
2022-05-04 15:11:36.815 WARN 13303 --- [ main] o.f.core.internal.command.DbMigrate : outOfOrder mode is active. Migration of schema "FLYWAY" may not be reproducible.
2022-05-04 15:11:36.830 INFO 13303 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "FLYWAY" to version "20220504113919 - create student"
2022-05-04 15:11:36.873 INFO 13303 --- [ main] o.f.c.i.s.DefaultSqlScriptExecutor : 0 rows affected
2022-05-04 15:11:36.938 INFO 13303 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "FLYWAY" to version "20220504132902 - create seq"
2022-05-04 15:11:36.944 INFO 13303 --- [ main] o.f.c.i.s.DefaultSqlScriptExecutor : 0 rows affected
2022-05-04 15:11:36.977 INFO 13303 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "FLYWAY" to version "20220504135829 - select student"
2022-05-04 15:11:36.982 INFO 13303 --- [ main] o.f.c.i.s.DefaultSqlScriptExecutor : +----+------+
| ID | NAME |
+----+------+
| No rows r |
+----+------+
2022-05-04 15:11:37.013 INFO 13303 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 3 migrations to schema "FLYWAY", now at version v20220504135829 (execution time 00:00.208s)
installed_rank | version | description | type | script | checksum | installed_by | installed_on | execution_time | success |
---|---|---|---|---|---|---|---|---|---|
1 |
20220504113919 |
create student |
SQL |
V20220504113919__create_student.sql |
1002084112 |
FLYWAY |
2022-05-04 15:11:36.909950 |
48 |
1 |
2 |
20220504132902 |
create seq |
SQL |
V20220504132902__create_seq.sql |
-1063390250 |
FLYWAY |
2022-05-04 15:11:36.956655 |
9 |
1 |
3 |
20220504135829 |
select student |
SQL |
V20220504135829__select_student.sql |
-1463386058 |
FLYWAY |
2022-05-04 15:11:36.995406 |
9 |
1 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。