StrongLoop 의 Polymorphic 정보
StrongLoop 의 Polymorphic
본문
strongloop 는 처음봐서 틀리는 부분이 있다면 지적 부탁 드리구요
StringLoop 의 소스 코드만 복사했는데, 자꾸 짤려서 몇번이나 다시 작성하다가 포기하고
수정 화면에서 이미지로 캡춰해서 올립니다. 양해 부탁 드릴께요.....ㅠㅠ
-----------------------------------------------------------------------------------
https://docs.strongloop.com/display/public/LB/Polymorphic+relations 의 메뉴얼을
진짜 1분만 대충 소스 읽어보고 작성한 내용입니다... 틀린 부분이 있다면 지적 부탁 드립니다.
Polymorphic 는
다른 여러개 모델들과 1:다 관계로 연결되어 있으며,
다른 모델들과 같이 사용하는 모델인 경우 <---- 공통되게 사용하는것
( 예 : 뎃글, 파일 첨부은 여러곳에서 같이 사용 가능 하듯이요 )
사용하는것입니다.
아래 ERD 을 보실때
모델은 곧 진짜 DB 안의 Table 이라고 생각 하시는데 모델명과 테이블명이 같다라고 보시면 편하실겁니다.
즉
- Picture 모델 = 실제 Picture 테이블
- Author 모델 = 실제 Author 테이블
- Reader 모델 = 실제 Reader 테이블
생각하시고 보세요
저작자가 사진을 등록/수정/삭제 할 수 있고,
독자 또한 사진을 등록/수정/삭제 할 수 있어서
사진 파일의 경우 저작자 와 독자가 같이 Picture 모델( 사진 파일 저장하는 테이블 )을 사용하겠다 라는 의미입니다.
아래 내용중에
"이건 애매해서 추측" 이라고 적힌 부분은 Relation 이름 ( 테이블간의 관계명 )입니다.
이 글을 작성한 이후 찾아서 알게 되었습니다.
위의 글을 작성하면서 놀란게 Laravel 과 거의 똑 같고 ( Method 가 똑 같아요 )
polymorphic 의 foreignKey , discriminator 을 사용하는 위치만 틀리네요
참고로 위의 polymorphic 는 RDB ( 관계형 테이타베이스 ) 에는 없는 개념이라는데
규약을 만든것 같은 느낌이 들어서 규약을 찾아 봐야 할 것 같구요
멀지 않아 oracle, mysql, psql, mongo, redis 등등에 위의 개념이 들어가지 않을까? 싶어요.
힘드려나......ㅋ
0
댓글 0개