2017-07-08 30 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以将外键添加到数据库。