結論
ModelName.establish_connection
を用いて環境を切り替えながらオブジェクトを操作する。
実例
production
モードで $ bin/rails console
を起動したとします。そして User.find(123)
で得られるデータを development
モードの User として記録するものとします。
すると、以下のように操作すればよいことになります。
pry> source_data = User.find(123) pry> User.establish_connection :development pry> source_data.dup.save!
dup
してから save!
している理由は、dup
をしないと production
で取得したオブジェクトのままになってしまうからです。
補足
同一の Rails プロジェクトでなくても、同一のスキーマであれば別プロジェクトのデータベースを操作することもできます*1。
*1:特殊な場合だとは思いますが……