2
我正在使用PostgreSQL的公寓寶石,我需要製作一份已有租戶的數據副本。我能想到的一種方法是從租戶收集所有數據,然後切換租戶並開始創建記錄。下面是一個小示範。模型是要複製的模型列表。製作公寓寶石租戶的副本
Apartment::Tenant.switch!('destination')
models.each do |modal|
eval("@#{modal.downcase} = #{modal}.all.collect{ |p| p.to_dh }")
end
Apartment::Tenant.switch!('target')
models.each do |modal|
eval("@#{modal.downcase}.each{ |p| #{modal}.create(p[:attributes], :without_protection => true) rescue p[:id]}")
end
models.each do |modal|
ActiveRecord::Base.connection.reset_pk_sequence!(eval("#{modal}.table_name"))
end
任何幫助將不勝感激。