database-migration - Flyway 3.0 到 4.0 升级失败(至少对于 Postgres 而言)

标签 database-migration flyway

我们尝试直接从 Flyway 3.0 转到 4.0 以访问可重复迁移。 (因此跳过版本 3.1 和 3.2。)

通过MetaDataTableImpl.upgradeIfNecessary运行的SQL会删除3.0版本架构中不存在的索引schema_version_vr_idxschema_version_ir_idx,因此Postgres不高兴。

支持多个版本升级的一种方法是使用DROP INDEX IF EXISTS schema_version_vr_idx;,但这当然需要针对不同的数据库采用。

目前,我通过在运行 Flyway 升级架构之前创建这两个索引来解决问题。

有更好的方法吗?

最佳答案

实际上这些索引默认存在:https://github.com/flyway/flyway/blob/flyway-3.0/flyway-core/src/main/resources/org/flywaydb/core/internal/dbsupport/postgresql/createMetaDataTable.sql

不知道为什么或如何从您的数据库实例上删除它们。

关于database-migration - Flyway 3.0 到 4.0 升级失败(至少对于 Postgres 而言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36040984/

相关文章:

hadoop - 切换一个包含cloudera hadoop/hdfs/hbase数据的磁盘

Django:如何编写不需要键盘输入的迁移?

java - 如何将 Flyway H2 迁移的历史存储在 PUBLIC 之外的另一个模式中?

java - Flyway 仅迁移我的两个配置模式之一

spring-boot - 使用 Flyway 设置多个数据库

Mysql 和 Flyway 命令行 afterMigrate.sql 具有多个文件

python - Django - 南方迁移 - 如何将大型迁移分解为几个较小的迁移?我怎样才能让南方变得更聪明?

php - 使用 YIi2 更改注释时更改 PGSQL 的列架构不起作用

mysql 将旧数据库转移到新数据库

java - 迁移前的 Flyway 回调