고요빛물결

[lavuebd]라라벨에서 사용할 DB 구조를 고려해보기

DB 구조 만드는 것이 아마 제일 힘들 것 같습니다.  

 

이 기초가 튼튼해야 앞으로 문제가 없을 같은데..

 

그래서 이것저것 보다 보니 ciboard 3.0 Pro의 구조를 참조로 하면 될 것 같습니다.

 

@terrorboy 님이 예전에 추천해 주신 https://sir.kr/cm_free/1445871   erdcloud.com 에

 

ciboard 3.0 pro에 대한 것이 올라와 있네요.

 

https://www.erdcloud.com/d/wNtbZdTQkjqehzKgn

 

먼저 글(post) 위주로 보면 gnuboard와 다르게 모든 글이 이 Table에 다 올라갑니다.

 

이 글의 글쓴이 (member) 와 이 글이 게시판(board)에 대해서 연결되어 있겠죠..

또한  댓글 (comments)도

 

"post" hasone or belongs to "member"

"post" hasone or belongs to "board"

"post" hasmany "comments"

 

hasone 이냐 belongsto냐는 https://stackoverflow.com/questions/30058949/should-i-use-belongsto-or-hasone-in-laravel

 

그래서 여기서는 belongsto 이네요.  board_id와 member_id가 post에 있기 때문에..

 

"member" hasmany "post"

"board" hasmany "post"

"comments" belongsto "post"

"comments" belongsto "board"

"comments" belongsto "member"

  의 Relation을 가지고 있을 것 같습니다.

 

게시판(board) 은 게시판 그룹(group)으로 연결 되어 있죠..

 

"board" hasone "group"

"group" hasmany "board"  

 

이런 연결로 하면 예전에 게시글 처럼 https://sir.kr/so_app/170

 

GET api/v1/group  전체 Group (즉 top 메뉴를 읽어오기)

GET api/v1/group/{group_id}  각 그룹에 속한 메뉴 읽어오기

GET api/v1/board/{board_id} 게시판 읽어오기 (list_skin)

GET api/v1/board/{board_id}/post/{post_id} 게시판 항목 읽어오기 (view_skin)

 

식으로 구현이 가능할 것 같습니다.  아니면 wordpress방식으로

api/v1/post?board={board_id}

 

그러나 magento의 api를 보면 https://devdocs.magento.com/guides/v2.3/rest/list.html

역시 대세는 전자가 될 것 같습니다.  

 

post 와 comment의 관계는 polymorphic으로 연결된다고 합니다. (추후에 더 공부해야..)

그리고 comment와 comment는 reply기능이 되어야 되니  이것도 나중에

|

댓글 7개

@Rido 이 링크가 들어가야 되는데 카피가 잘못되서 @terrorboy 님 링크 2개가 연속으로 되어 있네요.
@마젠토 ㅋㅋㅋㅋㅋ
@Rido 본문 수정했습니다.
@마젠토 ㅋ.. 구조파악한다고 대충만든거라 그냥 참고만 하세요
@Rido CIboard 처음 봤을 때, 대충 구조 파악하고, 라라벨에 적용해 보다가 실력이 부족하기도 하고, 갑자기 바빠지기도 했고, 이번 연말에 조금 시간이 나서, 다시 한번 도전해 보고 있습니다. 가장 어려운 부분이 커멘트 시스템인 것 같습니다. Polymorphic 이 어렵고
그누보드와 다르게 Post와 Comment 각각 하나의 테이블로 전 게시판을 커버해야 되는 구조라서..
아무래도 그누보드보다는 늦을 것 같고.. 그누보드처럼 테이블을 여러개 만드는 방법도 고민해봐야 될것 같고..
@마젠토 흠.. 일단 요즘 mysql성능향상도 있고 그누보드처럼 테이블을 계속 생성하는것보다는 ci-board의 형태가 더 좋아 보이긴 합니다. (차후 검색이라던가...) 행의 수 때문에 문제가 생길정도라면 차라리 그 홈페이지가 커스텀 되어야 하지 않을까요? -_-??
댓글을 작성하시려면 로그인이 필요합니다.
+
분류 제목 글쓴이 날짜 조회
라라벨 19-01-09 조회 1,734
라라벨 19-01-08 조회 2,000
라라벨 19-01-08 조회 1,565
라라벨 19-01-08 조회 1,579
라라벨 19-01-07 조회 2,234
라라벨 19-01-06 조회 2,104
기타 19-01-05 조회 2,253
라라벨 19-01-04 조회 1,751
라라벨 19-01-04 조회 1,647
라라벨 19-01-04 조회 4,462
라라벨 19-01-03 조회 1,775
라라벨 19-01-03 조회 2,968
라라벨 19-01-02 조회 1,806
라라벨 19-01-01 조회 2,125
라라벨 18-12-31 조회 2,102
라라벨
[라라벨]
18-12-30 조회 1,583
라라벨 18-12-30 조회 2,577
기타 18-12-30 조회 1,538
라라벨 18-12-29 조회 1,919
코드이그나이터 18-12-28 조회 1,696
일반 18-12-28 조회 1,665
라라벨 18-12-27 조회 1,772
라라벨 18-12-26 조회 2,550
라라벨 18-12-25 조회 1,705
라라벨 18-12-23 조회 1,693
라라벨 18-12-20 조회 2,277
기타 18-10-07 조회 2,169
라라벨 18-10-05 조회 1,923
기타 18-10-04 조회 2,473
기타 18-10-03 조회 2,308