轨PG未定义列不创建索引存在
问题描述:
我想添加一个索引的列,但我得到的错误:轨PG未定义列不创建索引存在
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "contact" does not exist
: CREATE UNIQUE INDEX "index_users_on_contact" ON "users" ("contact")
这很奇怪,因为当你的看我m在创建列之前,我尝试对其进行索引:
class AddContactToUser < ActiveRecord::Migration[5.1]
def change
add_reference :users, :contact, foreign_key: true
add_index :users, :contact, unique: true
end
end
为什么我会收到此错误?
如果您想知道为什么我要做单独的联系人模式,那是因为所有用户都有联系人,但并非所有联系人都有用户。
答
add_reference :users, :contact, foreign_key: true
创建一个名为contact_id
的列。所以你的索引需要是
add_index :users, :contact_id, unique: true