Đối với đường ray 4
Trình tạo chấp nhận loại cột làm tài liệu tham khảo (cũng có sẵn như belongs_to
).
Di chuyển này sẽ tạo ra một user_id
cột và chỉ mục thích hợp:
$ rails g migration AddUserRefToProducts user:references
tạo ra:
class AddUserRefToProducts < ActiveRecord::Migration
def change
add_reference :products, :user, index: true
end
end
http://guides.rubyonrails.org/active_record_migations.html#creating-a-standalone-migration
Đối với đường ray 3
Người trợ giúp được gọi là tài liệu tham khảo (cũng có sẵn như belongs_to
).
Di chuyển này sẽ tạo ra một category_id
cột của loại thích hợp. Lưu ý rằng bạn chuyển tên mô hình, không phải tên cột. Active Record bổ sung _id
cho bạn.
change_table :products do |t|
t.references :category
end
Nếu bạn có các belongs_to
liên kết đa hình thì các tham chiếu sẽ thêm cả hai cột cần thiết:
change_table :products do |t|
t.references :attachment, :polymorphic => {:default => 'Photo'}
end
Sẽ thêm một cột tệp đính kèm và attachment_type
cột chuỗi có giá trị mặc định là Photo
.
http://guides.rubyonrails.org/v3.2.21/migations.html#creating-a-standalone-migration