2017-09-26 1 views
0

나는 열에 대한에 대한 인덱스를 추가하기 위해 노력하고있어하지만 오류 받고 있어요 :는 PG 정의되지 않은 컬럼 인덱스 작성을 위해 존재하지 않는 레일

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 

왜이 오류가 발생합니까?

나는 모든 사용자가 연락 할 수 있지만 모든 연락처에 사용자가있을 수는 없기 때문에 별도의 연락처 모델을 사용하고 있는지 궁금해 할 때가 있습니다.

답변

0
add_reference :users, :contact, foreign_key: true 

contact_id이라는 열을 만듭니다. 색인이 필요합니다.

add_index :users, :contact_id, unique: true