我的 Terraform Git 存储库最终出现一些不可调和的数据错误,我无法推送最近的更改。我将我的提交导出到一个补丁,重新克隆,应用补丁,然后意识到我只是吹走了我所有的本地状态。我使用 AWS CLI 同步整个状态文件树,将其复制到/作为我想要应用的路径的 .terraform/terraform.tfstate,运行 init,现在出现版本错误。
这与最初生成状态文件的运行环境完全相同。这也是唯一应用更改的机器,因此一切都应该保持同步(不是说它与眼前的问题有关,但一旦我们解决了这个问题,它就不会引起任何其他问题)。
我试过运行的命令:
$ terraform init
$ terraform init -upgrade
$ terraform init -upgrade -migrate-state
不可避免的,坚定不移的输出:
Initializing the backend...
╷
│ Error: Failed to load state: Terraform 1.3.9 does not support state version 4, please update.
我似乎无法在任何地方找到任何关于如何从远程状态恢复的帖子或评论,但我猜几乎每个人都必须在某个时候从远程状态恢复。我无法理解。
从远程恢复的过程应该是什么?如果环境、项目配置和项目状态没有改变,为什么我会出现版本问题?
谢谢。任何帮助表示赞赏。