更改Rails使用的sqlite3 db中的数据

时间:2014-03-26 20:28:54

标签: ruby-on-rails sqlite uppercase lowercase

我正在使用Rails,并使用sqlite3数据库。

600行数据,其中一列填充了不同的文本字符串,但都是大写的。

有哪些选项可以将该列中所有行的大写数据更改为小写?

据推测,我可以在SQL命令行上运行一些SQL,但有一种简洁的“轨道”方式吗?

2 个答案:

答案 0 :(得分:0)

在你的rails控制台

YourModel.all.map{|u| u.column.downcase!; u.save}

答案 1 :(得分:0)

在你的控制台中尝试类似的东西:

ActiveRecord::Base.connection.execute "UPDATE table SET column = LOWER(column)"

另一种方式:

# Validations & callbacks are skipped
<Model>.all.map { |m| m.update_column :<column>, m.<column>.downcase }

# Validations are skipped & callbacks are invoked
<Model>.all.map { |m| m.update_attribute :<column>, m.<column>.downcase }