I would create a migration
rails g migration set_updated_at_values
and inside it write something like:
class SetUpdatedAt < ActiveRecord::Migration
def self.up
Yourmodel.update_all("updated_at=created_at")
end
def self.down
end
end
This way you achieve two things
- this is a repeatable process, with each possible deploy (where needed) it is executed
- this is efficient. I can’t think of a more rubyesque solution (that is as efficient).
Note: you could also run raw sql inside a migration, if the query gets too hard to write using activerecord. Just write the following:
Yourmodel.connection.execute("update your_models set ... <complicated query> ...")