【发布时间】:2020-12-14 23:14:38
【问题描述】:
在测试对 Postgres 数据库的升级时,我们发现我们最旧的版本化迁移文件之一不再是有效的 SQL。这对于生产数据库来说不是问题,它(当然)已经在 schema_history_table 中进行了这些迁移,但是这个损坏的 V 文件现在无法建立任何新的沙箱。
在不永远孤立我们的生产数据库的情况下,将旧 V 文件带入现代世界的最佳方法是什么?
【问题讨论】:
标签: postgresql flyway
在测试对 Postgres 数据库的升级时,我们发现我们最旧的版本化迁移文件之一不再是有效的 SQL。这对于生产数据库来说不是问题,它(当然)已经在 schema_history_table 中进行了这些迁移,但是这个损坏的 V 文件现在无法建立任何新的沙箱。
在不永远孤立我们的生产数据库的情况下,将旧 V 文件带入现代世界的最佳方法是什么?
【问题讨论】:
标签: postgresql flyway
我能想到几个可能的选择。
【讨论】:
flyway repair。过去我们在编写迁移时没有从树中看到森林(我记得在两个 V 文件之间重用临时表的名称而不将其丢弃在它们之间,从而破坏了新数据库)。