2012-10-20 83 views
1

我试图按照说明here。最后一步是通过使用这行代码来更新我的数据库中的数据:Rails 3:更新数据库数据

UPDATE rs_reputation_messages SET sender_type = 'ReputationSystem::Evaluation' WHERE sender_type = 'RSEvaluation' 

我想不通的地方把这个代码。通常,我会通过迁移来更新数据库,但这看起来像是一个MySQL命令。我确信这个问题有一个非常非常简单的答案,但尽管谷歌搜索,我甚至无法弄清楚如何正确地说出问题。

回答

2

在这种情况下创建迁移文件总是更好。您可以使用update_all方法

RsReputationMessages.update_all("sender_type = 'ReputationSystem::Evaluation'", 
           "sender_type = 'RSEvaluation'") 

OR

ActiveRecord::Base.connection.execute("UPDATE rs_reputation_messages 
             SET sender_type = 'ReputationSystem::Evaluation' 
             WHERE sender_type = 'RSEvaluation'")