Q&A

문서번호(document_srl) 순차적으로 생성되지 않고 있습니다.

2023.06.21 14:59
11,180
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.4

안녕하세요. 라이믹스 2.0 버전을 사용하고 있는 유저입니다.

 

게시물 작성 후 등록일자순으로 문서번호(document_srl)가 순차적으로 증가 해야 하나, 순차적으로 증가되지 않고 있습니다.

 

1) 등록일자순으로 문서번호 마이그레이션을 할 수 있는 방법이 있나요?

2) 게시물 등록 및 복사하는 경우 문서번호 생성되는 로직이 어떻게 되는지 알 수 있을까요?

 

문서번호.PNG

댓글 2

  • 2023.06.21 15:19 #1769721

    원래 그렇습니다. document_srl은 특정한 데이터를 식별하기 위해 내부적으로 사용하는 기호일 뿐, 순차적이거나 연속적이라는 보장이 없습니다.

     

    구체적으로는 글 작성을 시작하고 처음으로 파일을 첨부하거나 임시저장하는 시점에 1회 부여되고, 이후에는 바뀌지 않으며, 해당 글과 관련된 모든 데이터의 기준이 되기 때문에 바뀌어서도 안됩니다. 실제로 글 작성을 마치고 등록을 클릭한 시간 순서와는 관련이 없을 수밖에요. 15년 전 XE 초창기에도 그랬고, 지금 라이믹스도 마찬가지입니다.

     

    게시판 왼쪽에 표시되는 글번호도 문서번호와는 무관하고, 게시판이나 위젯에서 문서번호순으로 글을 정렬하는 옵션도 실제로는 문서번호가 아닌 list_order 역순으로 정렬되기 때문에, 문서번호의 순서가 뒤죽박죽이더라도 현실적인 문제는 전혀 없습니다. (list_order는 중복되지 않는다는 문서번호의 특성과 시간순이라는 regdate의 특성을 모두 갖는 컬럼으로, 게시판 정렬에 최적화되어 있습니다.)

  • 2023.06.21 15:21 #1769727
    문서번호는 하나씩 순차적으로 생성되는게 아니라 document_srl, comment_srl, member_srl, 기타 등등 각각 고유번호를 생성하는것에서 순차적으로 실행한수만큼 플러스되는 형태입니다.

    getNextSequence 이던가 그 함수를 통해서 실제로 숫자 하나씩 붙여서 가져오도록 설계되어있습니다.

    문서 번호의 경우 또한 별도의 editor에서 실행을 위해서 미리 부여하는 경우도 있습니다.

    결국 번호를 순차적으로 실행 한 수만큼 getNextSequence 함수라는곳에서 지속적으로 번호를 생산하다보니 글쓸 시점의 document_srl 이 순차적이지 않고 썩이게 되는것은 기본 동작이라고 생각하시면 됩니다.