如何使用Mongock处理降级操作



我有一个关于与Mongock一起执行降级的问题。我将JavaSpring应用程序与mongock集成在一起,假设我将应用程序从v1升级到v2。在升级迁移脚本期间;001〃;被执行,并且数据被迁移;mongockChangeLog";集合新条目。

一天后,客户表示存在严重错误,希望将应用程序降级到v1。问题是客户端添加了一些";设备";用新的";类型";(在v2中支持(,这在v1中当然不支持。现在,在降级期间,我想删除带有新";类型";我不知道该怎么做。我看到mongock支持带有注释的方法";回滚执行";但正如我从文档中了解到的,它将在不同的场景中被激发。

你有什么想法吗?我应该把回滚逻辑放在哪里,它会删除所有具有新类型的设备?

更进一步,在降级期间,在这种情况下,我应该删除";mongockChangeLog";还是有更好的解决方案?

您在这里可能需要的是撤消您的changeLog,所以无论您的changeLog做了什么,都只需撤消它。

你基本上会在撤销模式下运行mongock,告诉你想去哪个changeId

正如您在文档中所读到的,RollbackExecution用于两种情况:手动回滚(当事务不可用时(和恢复操作(如undo(。

幸运的是,我们已经准备好了(加上其他操作(,可以使用CLI执行。它是专业套件的一部分,目前正在测试版中,并且是免费的。

如果你感兴趣,你可以发送电子邮件到这里,我们可以提供访问权限。

最新更新