0

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

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

4

1 回答 1

1
  1. 编写一个可以检查数据的 Aspect X 并找出哪些数据不正确的类。
  2. 编写一个可以修复不良 Aspect X 数据的类。
  3. 为创建坏数据的类编写测试,并断言在运行修复程序后数据是好的。
  4. 创建生产数据库的副本,并将应用程序的副本指向生产数据库的副本(在 Heroku 上这很容易)。
  5. 在生产数据库的副本上运行 fixer 类,然后使用 checker 类验证数据是否良好。还要手动验证数据是否正确。您可以通过控制台会话执行此操作heroku run console
  6. 在生产数据库的 Live Copy 上运行 fixer 类,再次验证数据是否良好。

有时,您可以使用一个也是 ActiveRecord 迁移的类。但这并不总是奏效,有时您必须简单地使用自己从头开始编写的普通类。

于 2012-08-04T18:07:31.847 回答