0

Rails v3.0.3元のスキーマにはcustomersテーブルがあり、アプリには100人の顧客のデータがあります。

移行により、cust_infoテーブルを1:1で追加します。例:

customers has_one cust_info 
cust_info belongs_to customers

したがって、現在(新しいモデルを作成するために実行した後)、1:1の必須cust_infoレコードを持たないrake db:migrate100個の「古い」顧客レコードがあります。

QUES(1a)(レガシーデータの更新) 100の既存の顧客レコードのそれぞれに必要な(空の) cust_infoレコードを生成するための「レールの方法」とは何ですか?

QUES(2)(今後)アプリを変更して、新しい顧客レコードを作成するときに、関連付けられたcust_infoレコードを同時に自動的に作成する方法を教えてください。

4

1 に答える 1

1

Q1:データセットが小さいので、コンソールで作業します。

Customer.all.each do |c|
   c.create_cust_info.save
end

Q2:次のコールバックを使用します:after_create顧客モデルでcust_infoを内部に構築します

于 2011-02-02T23:24:13.617 に答える