2017-09-14 4 views
0

belongs_to와 레일의 외래 키에 대해 혼동스러워합니다. 레일즈 마이그레이션에서 belongs_to를 사용할 때 부모 테이블에서 액세스 할 수있는 외래 키를 하위 테이블에 만드는 것처럼 보입니다. 그러나 레일 문서에서 한 열에 둘 다 사용하는 상황이 있습니다.belongs_to가 레일스 마이그레이션 및 데이터베이스 구조에서 만드는 것은 무엇입니까?

create_table :accounts do |t| 
    t.belongs_to :supplier, index: { unique: true }, foreign_key: true 
    # ... 
end 

누군가이 상황을 설명하고 belongs_to 및 foreign_key가 무엇인지 설명 할 수 있습니까?

답변

1

t.belongs_to :suppliersupplier_id-accounts을 더합니다.

index: { unique: true }은 열에 대해 database index을 만듭니다.

foreign_key: true은 열에 대해 foreign key constraint을 만듭니다.

Active Record Migrations — Ruby on Rails Guides을 읽어 보시기 바랍니다.

인덱스는 데이터 검색 작업 속도를 높입니다.

외래 키는 유지 관리에 도움이됩니다. referential integrity.

+0

그래서 t.belongs_to : 공급자는 t.integer : supplier_id와 같습니다. – cengo