Open dreamsh19 opened 4 years ago
지금 TravelBlock에 additional data로 end time도 넣고 있는데 이것도 추가하면 좋을 것 같아요. location관련 정보는 결정되면 공유할게요, 지금 관련 테이블이 있는데 그쪽으로 foriegn key 잡아서 저장하게 될 것 같긴해요
고생 많으셨습니다! 일단 생각나는 것들 두 가지만 말씀드리면
전체적으로 필요한 필드들 잘 구현해 주신 것 같아요. 감사합니다 :smiley::+1:
@deploy-soon
지금 TravelBlock에 additional data로 end time도 넣고 있는데 이것도 추가하면 좋을 것 같아요.
start time과 end time 둘다 있는건가요?? 논의 당시에는 time을 하나만 넣기로 한 것 같아서요
@RXWE
- 사소한 거긴 한데, 콜라보레이터의 정확한 스펠링은 "collaborator"라고 하네요... 나중에 스펠링 차이로 실수하는 경우가 있을 것 같아서 수정해 주시면 감사하겠습니다!
중요한 지적이네요. 수정하겠습니다.
- TravelCommit에서 Head 이전 commit에 접근하려면 어떻게 해야하나요? issue #50에서는 TravelCommitLog로 트리 구조를 제시해 주셨는데, 복잡하진 않더라도 linked list로 commit들을 연결만 해줘도 이전 commit에 빠르게 접근할 수 있지 않을까요?
지금의 구조에서는 TravelCommit
에서 커밋이 속해있는 Travel
id를 저장해서 해당 Travel
id를 가진 TravelCommit
을 조회하여 이전 커밋들을 조회할 수 있습니다. 바로 이전 커밋보다 이전 커밋 목록을 조회하는 경우가 많을 것 같아서 저렇게 했는데 혹시 부모 커밋을 저장해야하는 경우가 있을까요?
네 time 하나로 관리하기로 했는데 교통편의 경우 시작지점 끝지점도 있어서 끝 시간이 없으니 뭔가 허전하더라고요. 그래서 필수 데이터가 아닌 추가 데이터 형식으로 끝 시간도 추가했는데 다루기 불편할까요?
지금의 구조에서는
TravelCommit
에서 커밋이 속해있는Travel
id를 저장해서 해당Travel
id를 가진TravelCommit
을 조회하여 이전 커밋들을 조회할 수 있습니다. 바로 이전 커밋보다 이전 커밋 목록을 조회하는 경우가 많을 것 같아서 저렇게 했는데 혹시 부모 커밋을 저장해야하는 경우가 있을까요?
이전 커밋 목록을 조회할 때 데이터가 많아지면 전체 TravelCommit을 다 보고 해당하는 커밋들만 필터링해서 보는 방식을 사용할 경우 느려지지 않을까 싶어서요. 쿼리가 어떻게 작동하는지 잘 몰라서 상관 없을수도 있는데, 일단 저희가 커밋을 백만 개 만들 건 아니니 번거로우시면 지금 방식대로 해도 될 것 같습니다!
issue #50 및 그동안의 논의 사항을 반영하여 아래와 같이 Travel 관련 Backend 구성하였습니다. 수정이 필요한 부분이나 개선방향이 있으면 자유로운 의견 부탁드립니다.
수정 내역
Travel
의 views fieldTravelCommit
의 block_dist, embed_vector 추가 ( 초록색 field는 foreign key)1.
Travel
Model여행계획 repo를 의미 travel의 setting 관련 field. Frontend의
Travel Setting page
에서 다루는 fieldUser
User
TravelCommit
TravelCommit
Travel
Comment
Travel
에 달린 댓글 리스트(현재는 제외됨. 추후 Comment 모델 작성 후 추가 예정)User
Travel
에 like를 누른 유저 리스트. Popular Travel 서빙에 활용*는 Travel Setting page에서 유저가 수정가능한 field, 나머지는 유저가 수정불가능하고 백엔드에서 관리하는 field
2.
TravelCommit
Model실질적인 여행계획 정보를 담고 있는 모델 ( 여러개의
TravelDay
로 구성) Frontend의Travel Create page
/Travel Edit page
에서 수정가능한 field.Travel
Travel
idUser
Tag
현재는 제외됨. 추후 Tag 모델 작성 후 추가 예정추가완료현재는 제외됨, 추후 django imagefield 활용 추가 예정추가완료TravelDay
TravelDay
의 리스트3.
TravelDay
Model실질적인 여행 계획 중 하루의 계획을 담고 있는 Model ( 여러개의
TravelBlock
으로 구성)TravelDay
TravelDay
가 해당 커밋에서 수정되었을 때 수정되기 전의 부모TravelDay
id.TravelBlock
TravelDay
에 속해있는TravelBlock
리스트4.
TravelBlock
Model실질적인 여행계획의 활동 단위 모델.
"CUS","ACT","ACM","TRN","RST"
중 하나.TravelBlock
TravelBlock
id.Json Format Example