在 ECS 管理的实例上,我使用 SKIP_POST_DEPLOYMENT_MIGRATIONS=1 在 EC2 中的 Docker 容器中执行了迁移,然后在 ECS 上启动了新镜像,之后未能执行 rake db:ensure_post_migrations db:migrate(实际上,我执行了它们,但是在错误的数据库上)。然后我意识到我还没有执行 post migrations,于是就执行了它们。之后我可以通过 UX 登录,并且能够在 ECS 实例上的 rails 中看到 somuser.password_algorithm 等,但是在浏览器中,新用户创建仍然失败,并出现 NoMethodError (undefined method password_algorithm=’ for #\u003cUser id: \n\n我最后执行了 sv stop unicorn` 来确保我在正确的服务器上,果然浏览器返回了 502,当我重启 unicorn 时,我就能够创建用户了。\n\n我不知道这是否与我添加的 yjit 模板有关,或者只是我犯了其他愚蠢的错误。我想我将在生产环境执行升级之前,在暂存实例上再进行一次练习。如果再次发生,我会报告。
听起来像是一次糟糕的部署,运行的代码与迁移不匹配,与 YJIT 无关。
4 个赞
听起来不错。我对这个特定过程可能失败的方式数量并不满意,但这是我自己的错。
2 个赞
此主题在上次回复后 30 天自动关闭。不再允许回复。