Terraform 在删除数据库后尝试读取 SQL 用户
Terraform trying to read the SQL user after database is deleted
在我们不小心执行了一个过时的分支后,我们的 Terraform 状态变成了损坏状态。
两个数据库被删除,并且由于 GCP 不允许您在删除后对数据库使用相同的名称,terraform 无法重新创建数据库,因此退出。
问题是,terraform 认为 数据库是他们的,并试图读取其用户:
Error when reading or editing SQL User "xxx" in instance "xxx": googleapi: Error 400: Invalid request: Invalid request since instance is not running., invalid
实例根本不存在!
我试图污染数据库和用户,但我仍然得到完全相同的错误。
有谁知道如何解决这个问题?我负担不起破坏和重建环境。
terraform state rm
可用于从应该修复此问题的状态文件中删除不再存在的数据库。 https://www.terraform.io/docs/commands/state/rm.html
中的详细信息
在我们不小心执行了一个过时的分支后,我们的 Terraform 状态变成了损坏状态。
两个数据库被删除,并且由于 GCP 不允许您在删除后对数据库使用相同的名称,terraform 无法重新创建数据库,因此退出。
问题是,terraform 认为 数据库是他们的,并试图读取其用户:
Error when reading or editing SQL User "xxx" in instance "xxx": googleapi: Error 400: Invalid request: Invalid request since instance is not running., invalid
实例根本不存在!
我试图污染数据库和用户,但我仍然得到完全相同的错误。
有谁知道如何解决这个问题?我负担不起破坏和重建环境。
terraform state rm
可用于从应该修复此问题的状态文件中删除不再存在的数据库。 https://www.terraform.io/docs/commands/state/rm.html