首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为所有Elastic Beanstalk实例运行一次rails db:seed?

如何为所有Elastic Beanstalk实例运行一次rails db:seed?
EN

Stack Overflow用户
提问于 2016-11-24 15:20:04
回答 1查看 352关注 0票数 0

我正在将一个RoR应用程序部署到Amazon Elastic Beanstalk (EB)。为了通过预加载数据来准备容器,我使用预部署脚本运行了一个rake任务:

代码语言:javascript
复制
container_commands:
  01seed:
    command: rails db:seed:dataset size=$SIZE --trace

问题是,如果我使用eb create --scale 4启动四个实例,任务会运行四次,这会导致我的部署因违反唯一键约束而失败。如何为每个部署的一个实例运行任务?

EN

回答 1

Stack Overflow用户

发布于 2016-12-07 06:22:38

我认为你处理这件事的方式不对。即使您设法找到了每次部署运行一次rails db:seed的方法,如果您的自动伸缩规则添加了一个实例,您仍然会遇到问题。

相反,您可以修改种子文件以允许其多次运行。我已经使用first_or_createfind_or_create_by完成了这项工作,以便仅在种子数据丢失时才创建种子数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40780145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档