我爲表orders
創建新遷移,併爲表用戶指定外鍵user_id
。 Order:User=N:1
之間的關係。遷移文件是:add_foreign_key不會生成新列
class CreateOrders < ActiveRecord::Migration
def change
create_table :orders do |t|
t.datetime :begin
t.integer :plan
t.boolean :activiated
t.timestamps null: false
end
add_foreign_key :orders, :users
end
end
做過耙分貝後:移民,我的日誌中軌控制檯:
2.1.10 :010 > Order.column_names
=> ["id", "begin", "plan", "activiated", "created_at", "updated_at"]
2.1.10 :011 > User.column_names
=> ["id", "name", "email", "created_at", "updated_at", "password_digest", ...]
,但我沒有找到user_id列。我跟着3.6 Foreign Keys,說外線鑰匙應該在那裏。有什麼我失蹤?謝謝。
我對英語的理解很差..所以,如果我在遷移文件中添加user_id列並進行遷移,我應該進行修改(例如,重新生成模型)嗎? –
不完全確定你的意思,但是你可以用'rake db:rollback'回滾遷移,然後再用'rake db:migrate'運行。 – Iceman