1

我正在尝试按照此处的说明进行操作。最后一步是使用这行代码更新我的数据库数据:

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

我不知道把这段代码放在哪里。通常,我会通过迁移来更新数据库,但这看起来像一个 MySQL 命令。我敢肯定这个问题有一个非常非常简单的答案,但是尽管搜索了谷歌,我什至不知道如何正确地表达这个问题。

4

1 回答 1

2

在这种情况下,最好创建一个迁移文件。你可以使用update_all方法

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

或者

ActiveRecord::Base.connection.execute("UPDATE rs_reputation_messages 
                                       SET sender_type = 'ReputationSystem::Evaluation' 
                                       WHERE sender_type = 'RSEvaluation'")
于 2012-10-20T15:42:55.570 回答