0

我最近转为主要是 Rails 开发人员。我还没有弄清楚的一件事是,当应用程序在本地机器上处于生产模式时,如何保护开发人员不犯粗心的错误。因为我使用的是 Heroku 和 MongoLab,所以我可以从本地机器访问我的生产环境资源。当我需要使用本地机器调试生产环境中发生的问题时,这真的很棒。然而,这使得团队中的某个人非常容易忘记他们当前正在以生产模式运行本地服务器并错误地搞砸了一些事情——例如删除数据库中的所有记录。

有没有人有一些关于如何防止粗心错误发生的最佳实践?

4

2 回答 2

1

rails c production --sandbox

总是,除非你去那里是为了管理记录。该--sandbox标志将整个控制台会话包装在数据库事务中,并回滚您在退出时所做的任何数据库更改。

但是正如其他人所说,如果您发现自己需要在生产环境中进行测试,那么您真正需要做的是设置您的开发环境以更接近地模拟您的生产环境。我知道这在 Heroku 这样的云服务上有点困难,但你可以非常接近。

于 2012-10-02T04:47:06.940 回答
1

这样做没有“最佳实践”。您正在寻找的是使用最差做法的最佳做法。您的开发机器绝对不可能与您的生产数据库对话。

您的生产凭据不应该包含在您的版本控制系统中,因此甚至没有人可以从他们的开发机器访问生产数据库。

如果您真的想在生产中进行测试,请在您的工作站上本地配置一个“生产”数据库,远离您的真实生产服务器,并将一些生产数据复制到其中。

于 2012-10-02T05:39:56.133 回答