作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我对如何实现基于 Elastic Beanstalk 的系统感到有些困惑,该系统允许我在部署不当时将我的服务器代码和 RDS 架构回滚到已知的良好状态。
我有一个应用程序可以在每次部署时处理向前/向上架构迁移(使用 .ebextensions/
)。但是,请考虑以下情况:
我认为我无法回滚步骤 3 中的迁移,因为此时不存在从版本 2 向后/向下迁移。
那么,解决这个问题的最佳方法是什么?我是否应该使用 capistrano 之类的东西来代替 Elastic Beanstalk 部署以获得对流程的更多控制?
最佳答案
如您所料,ElasticBeanstalk 中没有用于回滚架构更改的出色集成机制。如果部署不当,最好的情况是模式更改数据库事务将自动回滚。在这种情况下,您可以修复出错的迁移并将其重新推送到 EB。
如果您不是那么幸运(例如运行多次迁移,并且中途失败),并且您必须手动迁移您的架构,您可以:
(或)
我很想知道是否有更好的自动方法。但是,当迁移失败(并且您需要将它们回滚)时,您通常不得不手动修复它们。
关于database - Elastic Beanstalk : how to roll back the RDS schema to a known good state?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25907670/
我是一名优秀的程序员,十分优秀!