我正在尝试为for列添加索引,但我收到错误:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "contact" does not exist
: CREATE UNIQUE INDEX "index_users_on_contact" ON "users" ("contact")
这很奇怪,因为你在我尝试索引之前看到我正在创建列:
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