単純に実行中
ElectricityProfile.find_each do |ep|
if UserProfile.exists?(ep.owner_id) && ep.owner_type == 'UserProfile'
ElectricityProfileSummary.create(ep)
終わり
終わり
テーブルにデータを入力するには、年齢 (5 時間) かかります。DB を作成するためのより良い方法はありますか?
DBからすべてのデータを取得し、それを配列、ハッシュなどに保存してから、プッシュしてDBを作成するとしましょう
ElectricityProfile.find_each do |ep|
if UserProfile.exists?(ep.owner_id) && ep.owner_type == 'UserProfile'
array_of_electricity_profiles.push(ep)
終わり
終わり
ElectricityProfileSummary.mass_create(ep) # => またはその他のメソッド :)
create複数のモデルを取り、ElectricityProfileSummary を作成するオーバーライドされた method があることを忘れていました。
create!(:owner_id => electric_profile.owner_id,
:owner_type => electric_profile.owner_type,
:property_type => electric_profile.owner.user_property_type,
:household_size => electric_profile.owner.user_num_of_people,
:has_swimming_pool => electric_profile.has_swimming_pool,
:bill => electric_bill,
:contract => electric_profile.on_contract,
:汚い => 真、
:provider => electric_profile.supplier_id,
:plan => electric_profile.plan_id,
:状態 => 状態、
:郵便番号 => 郵便番号,
:割引 => 割引、
:has_air_conditioner => electric_profile.has_air_conditioner,
:has_electric_hot_water => electric_profile.has_electric_hot_water,
:has_electric_central_heating => electric_profile.has_electric_central_heating,
:has_electric_cooktup => electric_profile.has_electric_cooktup
)