2010-06-23 3 views
2

activerecord 3.0.0beta를 실행 중입니다. 난 당신이activerecord 마이그레이션의 외래 키 대 schema.rb

create_table "my_things" do |t| 
    t.reference "other_thing_id" 
end 

같은 외래 키와 열을 생성 할 수 있습니다 알고 있지만 잊고 그냥 일반 정수했다. 지금은, 나는 괜찮 았는데

execute("alter table my_things add constraint fk_other_thing foreign key (other_thing_id) references other_things(id)") 

같은 마이그레이션을 추가했습니다,하지만 난 스키마로드를했다 그래서 만약 내가, 동등한 schema.rb에 표시 아무것도 (내가 t.reference 기대했다)를 참조하지 않습니다 내 제약이 생기지 않을거야. 그 문제를 해결하는 가장 좋은 방법은 무엇입니까?

+0

실제로, t.references는 일반 레일에서는 작동하지 않으므로 내 문제를 설명 할 수 있습니다. 사실 그것은 외국인의 특징입니다. 내가 그것을 발견했을 때 나는 그것에 대해 읽고 있었음에 틀림 없다. –

답변

2

foreigner에 관심이있을 수 있습니다. 마이그레이션시 외래 키를 생성하고 schema.rb에 외래 키를 추가하는 데 도움이됩니다.

+0

차가움. 나는 그것을 보았지만 그것이 schema.rb를 지원하는지 알지 못했다. 나는 그것을 조사 할 것이다. –