【发布时间】:2016-12-04 19:12:05
【问题描述】:
我有一个join_table,目前有以下列:
- id
- table_a_id
- table_b_id
尝试为join_table 为table_a_id 添加外键约束,我生成以下迁移:
class AddTableIdForeignKeyConstraintToJoinTable < ActiveRecord::Migration[5.0]
def change
add_foreign_key :table_a, :join_table, column: :table_a_id, primary_key: "lng_id"
end
end
错误:
PG::UndefinedColumn: ERROR: column "question_id" referenced in
foreign key constraint does not exist
: ALTER TABLE "table_a" ADD CONSTRAINT
"fk_rails_4b0148d527"
FOREIGN KEY ("question_id")
REFERENCES "join_table" ("lng_id")
问题
这条线是什么意思foreign key constraint does not exist? Rails 在哪里寻找foreign key?
【问题讨论】:
-
您的问题有解决方案吗?
-
还没有@dkp。我得到了最初的错误,但我对引用的工作方式有点困惑。例如:现在我正在尝试将
table_b的外键约束添加到连接表并得到constraint "fk_rails_ff820b2696" for relation "join_table" already exists的错误。这意味着add_foreign_key方法并没有像我认为的那样做。所以现在正在努力理解。
标签: ruby-on-rails database postgresql