2017-07-08 35 views
0

我使用Rails 5.1和SQLite。下面的遷移沒有按預期工作。add_foreign_key不創建外鍵

class AddJobTitleForeignKeyToTimeOffTypes < ActiveRecord::Migration[5.1] 
    def change 
    add_column :time_off_types, :job_title_id, :integer 
    add_foreign_key :time_off_types, :job_title, :column => :job_title_id 
    end 
end 

它在表中創建「time_off_types」列「job_title_id」,但它不創建外鍵。

+0

'job_title_id'是這裏的外鍵。 'add_foreign_key'將在'time_off_types'表的'job_title_id'列和數據庫級的'job_titles'表的id列之間創建一個外鍵映射。 [Here](http://sevenseacat.net/posts/2015/add_foreign_key-gotchas-in-rails-4-2/)是一個有用的博客文章 –

+0

@KarthikRavichandran @KarthikRavichandran你解釋的正是我想要的但是我做錯了什麼? –

+0

什麼是第一列?只需做第二行:'add_foreign_key:time_off_types,:job_titles' – Maxence

回答

0

我目前假設這是因爲SQLite不支持rails執行的某些SQL以將外鍵添加到數據庫。