Rails部署工作流程:在推送之前在本地测试生产错误修正

时间:2014-01-02 17:54:47

标签: ruby-on-rails deployment production-environment

我在这里遗漏了一些东西。

我刚刚修复了我应用的制作状态的错误。当我将它合并到我的开发状态时,它可以很好地工作(本地和远程)。

但我真的不知道如何让我的本地机器进入生产状态,因为db状态从那时起已经发生了变化。

这意味着我即将推出一个我甚至没有在本地测试过的modif。

在这种情况下,最佳做法是什么?

  • 通过创建更多本地环境来拥有多个本地数据库状态?
  • 要将我的数据库回滚到以前的状态? (如何?)
  • 相应地重置我的本地环境?
  • 在这种情况下,当推送到staging / prod以便能够恢复时,“保存”db状态?
  • 还有别的吗?

对于每个应用程序管理员来说,这样的感觉应该是常规的,但是我真的看不出如何处理这个问题,并且发现rails迁移在当下并不那么方便......

由于

1 个答案:

答案 0 :(得分:0)

使您的本地数据库与生产中的结构相同:

首先获得部署到生产的分支或标记的本地签出。

rake db:test:prepare
rake test # or rake spec

这应该清理你的测试数据库,然后根据你的db / schema.rb重新创建它,它应该与你在prod中的模式相同。假设您首先编写了一个失败的测试,然后修复了该错误并观察了测试通过,那么您的测试现在应该通过。