栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Flyway回滚迁移?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Flyway回滚迁移?

尽管Flyway支持回滚(仅作为商业功能),但不鼓励使用它:

https://flywaydb.org/documentation/command/undo

尽管撤消迁移的想法很好,但不幸的是,有时它在实践中会崩溃。一旦您进行了破坏性的更改(删除,删除,截断……),便开始遇到麻烦。即使不这样做,您最终也将创建用于还原备份的自制替代方法,这些替代方法也需要进行适当的测试。

撤消迁移假定整个迁移成功,现在应该撤消。对于没有DDL事务的数据库,如果版本迁移失败,这将无济于事。为什么?迁移随时可能失败。如果您有10条语句,则第1,第5,第7或第10条可能会失败。根本没有事先知道的方法。相反,撤消迁移被编写为撤消整个版本的迁移,在这种情况下将无济于事。

我们发现更可取的另一种方法是保持数据库与当前在生产环境中部署的所有版本的代码之间的向后兼容性。这样,失败的迁移就不会成为灾难。该应用程序的旧版本仍与数据库兼容,因此您可以简单地回滚应用程序代码,进行调查并采取纠正措施。

这应该辅之以适当的,经过良好测试的备份和还原策略。它独立于数据库结构,并且一旦经过测试并证明其可以工作,任何迁移脚本都无法破坏它。为了获得最佳性能,并且在基础架构支持的情况下,我们建议使用基础存储解决方案的快照技术。特别是对于较大的数据量,这可能比传统的备份和还原快几个数量级。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483479.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号