处理生产数据时需要采取哪些预防措施?

时间:2012-08-04 17:55:59

标签: database ruby-on-rails-3 heroku production-environment

我一直在开发不同的基于Java web的应用程序。作为一名初级中级开发人员,我花了很多时间来处理开发数据,只是在这些数据中,删除数据,添加测试数据等等并不是什么大问题。但是现在,我正在使用我自己的Ruby on Rails进行一个侧面项目,负责每个开发阶段和数据(即开发,生产和测试)。即使在这个阶段,我有时也会删除prod数据(在Heroku上)并使用Rails框架提供的“db:populate”重新填充它。但是,系统将在一个月后上线(以听取用户的反馈),我知道如果从现在开始出现问题,我将无法选择删除数据。

根据您的经验,当实际生产数据出现问题时,我应该采取哪些预防措施?

1 个答案:

答案 0 :(得分:1)

  1. 编写一个可以检查数据的X方面并找出哪些数据不好的类。
  2. 编写一个可以修复错误的Aspect X数据的类。
  3. 为创建错误数据的类编写测试,并断言在运行修复程序后,数据很好。
  4. 创建生产数据库的副本,并将应用程序的副本指向生产数据库的副本(在Heroku上这很容易)。
  5. 在生产数据库的副本上运行fixer类,然后使用checker类验证数据是否正常。还要手动验证数据是否良好。您可以通过heroku run console从控制台会话执行此操作。
  6. 在生产数据库的实时副本上运行fixer类,再次验证数据是否正常。
  7. 有时,您可以使用同样也是ActiveRecord Migration的类。但这并不总是有效,有时候你必须简单地使用你自己从头开始写的普通课。