Capistrano增量种子的最佳实践

时间:2014-03-31 16:48:03

标签: ruby-on-rails deployment continuous-integration capistrano continuous-deployment

RoR 3.2.13和3.0.1 capistrano

我的应用程序需要通过 rake db:seed 获取初始数据。每当有人加入新功能并且所有测试通过时,我的持续集成服务器都会自动部署。最新的任务是 rake db:seed

第一次工作正常,但是由于某些记录已经存在于数据库中,因此下面的种子失败了。

哪种策略建议我逐步运行种子。

请注意:

  • 种子可能会随时间而变化。
  • 该应用程序已包含有关生产的数据。
  • 应从Continuous Integration服务器自动运行。

谁应该有责任不重复信息:Capistrano,种子本身,应用程序,持续集成服务器?

2 个答案:

答案 0 :(得分:0)

在我们的团队中,我们使用迁移来更改数据库模式以及现有数据。

答案 1 :(得分:0)

种子的方式是种子。使用seed-fu,我们可以制作幂等元素种子,并且意味着您可以在没有改变最终结果的情况下运行。环境或部署的不同种子的方式是seedbank