鉴于还原包含迁移文件的提交会使它消失,迁移文件如何与 git revert 命令兼容?

问题描述 投票:0回答:0

我相信这个问题是不言自明的,但我想补充一些细节和说明。

假设我有一个包含迁移文件的提交,并且在将提交推送到 CI/CD 中的管道后,运行迁移的“up”命令。现在,我想恢复那个提交。如何运行“向下”迁移?值得注意的是,迁移文件会随着提交还原而消失。

我考虑过的一个解决方案是在还原提交本身之前运行特定迁移的“向下”命令以撤消它。但是,我更愿意限制手动运行此类命令并仅从 CI/CD 中的管道执行它们。

考虑到这个约束,我能想到的唯一解决方案是还原整个提交,包括迁移文件,并创建一个新的迁移文件来撤消原始迁移所做的更改。然而,在这种情况下,原始迁移仍会出现在迁移列表中,因为它实际上并没有被“down”或“undo”命令回滚。

考虑到上述限制,您有什么建议?我没有指定使用的确切语言/框架/包,因为问题不依赖于它们。

我期望的是原始迁移文件所做的更改与提交本身一起恢复,同时保持一个优雅的解决方案,最好只从管道运行迁移文件,而不是从控制台手动运行。

git migration pipeline database-migration git-revert
© www.soinside.com 2019 - 2024. All rights reserved.