gpt4 book ai didi

database - Elastic Beanstalk : how to roll back the RDS schema to a known good state?

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:16 24 4
gpt4 key购买 nike

我对如何实现基于 Elastic Beanstalk 的系统感到有些困惑,该系统允许我在部署不当时将我的服务器代码和 RDS 架构回滚到已知的良好状态。

我有一个应用程序可以在每次部署时处理向前/向上架构迁移(使用 .ebextensions/)。但是,请考虑以下情况:

  1. Elastic Beanstalk 正在运行我的应用程序和数据库架构的版本 1。
  2. 我推送我的应用程序的第 2 版,它将 RDS 架构迁移到第 2 版。
  3. 我重新部署了我的应用程序的版本 1,但是,RDS 架构仍然是版本 2

我认为我无法回滚步骤 3 中的迁移,因为此时不存在从版本 2 向后/向下迁移。

那么,解决这个问题的最佳方法是什么?我是否应该使用 capistrano 之类的东西来代替 Elastic Beanstalk 部署以获得对流程的更多控制?

最佳答案

如您所料,ElasticBeanstalk 中没有用于回滚架构更改的出色集成机制。如果部署不当,最好的情况是模式更改数据库事务将自动回滚。在这种情况下,您可以修复出错的迁移并将其重新推送到 EB。

如果您不是那么幸运(例如运行多次迁移,并且中途失败),并且您必须手动迁移您的架构,您可以:

  • 将您的本地应用程序指向使用 RDS 数据库(假设您已将防火墙配置为允许它),然后运行迁移。

(或)

  • 通过 SSH 连接到您环境的一个 EC2 实例并从那里运行迁移。

我很想知道是否有更好的自动方法。但是,当迁移失败(并且您需要将它们回滚)时,您通常不得不手动修复它们。

关于database - Elastic Beanstalk : how to roll back the RDS schema to a known good state?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25907670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com