구리의 창고

DataMapper - belongs_to 와 has 1 사용하기 본문

Ruby

DataMapper - belongs_to 와 has 1 사용하기

구리z 2012. 6. 21. 11:43

Ruby ORM 중에서 DataMapper를 사용하다보면 1:1 관계 설정 시에 has one과 belongs_to가 둘 다 있는걸 볼 수 있다.


belongs_to 와 has 1 내가 생각하기엔 스키마 상으로는 비슷비슷 할 거같은데 의미상으로 다르다.


Memer와 Profile이라는 모델이 있다고 가정하고 Member는 하나의 Profile을 반드시 가진다.


그러면 Member는 Profile을 has 1 하는 것이고 Profile은 Member를 belongs_to 하는 것이다.


어째든 동작상으로는 거의 동일한데 이걸 알아야한다


has 1을 해보고 엉? 안되네? 라고 생각 할 수 있는데


Member에서 has 1, :profile 을 해주면 Profile에 foreign key가 생기고

Profile에서 belongs_to, :member 를 해주면 Profile에 foreign key가 생긴다.



Member에서 has 1을 걸어준다고 Member shema가 변경되지 않는다.

Comments