この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは。KBMJの本多です。
今回はテーブルの更新日付を変更することなくテーブルの中身を変更する方法を紹介します。やり方は以下の通り。
例:)変更するテーブル名が「tables」、Model名が「Table」の場合
table = Table.find(:first, (中略))
(tableの中身を修正)
table.record_timestamps = false ←※
table.save
一括で変更する場合は
tables = Table.find(:all, (中略))
tables.each do |table|
(tableの中身を修正)
table.record_timestamps = false ←※
table.save
end
このように、データの保存前におまじないをかけるだけです。
バッチ等でテーブル内のデータを修正したいけど、更新日付を変えたくない時に使ってみてください。
GOOD RAILS!!