묻고답하기

안녕하세요.

DB 마이그레이션을 준비하고 있는데요, 데이터가 수십만건인데다가 이미 부여된 고유번호(document_srl)을 바꾸고 싶지 않아서, XML migration tool은 쓰기가 곤란한 상황입니다.

그래서 DB 구조를 알아서 직접 집어넣으려고 하는데, xe_comment
s와 xe_comments_list의 구조가 눈에 잘 들어오지 않네요...

comments_list 테이블의 head, arrange값을 어떻게 줘야 하는지 잘 모르겠어요. 이 값을 바꾸니까 코멘트의 계층 구조가 엉망진창이 되는 걸로 봐서 코멘트 출력 순서하고 관련이 있는 것 같은데 값을 구하는 공식이라도 있나요? 검색해보니 list_order는 구하는 공식이 있던데요^^*

그리고 document_srl이 이미 정해져 있는 경우에, comment_srl은 별도로 아무렇게나 부여하면 되는지, 아니면 document_srl에 따라서 comment_srl 값도 변하는지 알고 싶습니다. 현재 document_srl값은 1번 글부터 8자리 이상으로 부여되어 있습니다(예: 12345678).

mysql> desc xe_comments;
+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| comment_srl    | bigint(11)   | NO   | PRI | NULL    |       |
| module_srl     | bigint(11)   | NO   | MUL | 0       |       |
| document_srl   | bigint(11)   | NO   | MUL | 0       |       |
| parent_srl     | bigint(11)   | NO   |     | 0       |       |
| is_secret      | char(1)      | NO   |     | N       |       |
| content        | longtext     | NO   |     | NULL    |       |
| voted_count    | bigint(11)   | NO   | MUL | 0       |       |
| blamed_count   | bigint(11)   | NO   | MUL | 0       |       |
| notify_message | char(1)      | NO   |     | N       |       |
| password       | varchar(60)  | YES  |     | NULL    |       |
| user_id        | varchar(80)  | YES  |     | NULL    |       |
| user_name      | varchar(80)  | NO   |     | NULL    |       |
| nick_name      | varchar(80)  | NO   |     | NULL    |       |
| member_srl     | bigint(11)   | NO   | MUL | NULL    |       |
| email_address  | varchar(250) | NO   |     | NULL    |       |
| homepage       | varchar(250) | NO   |     | NULL    |       |
| uploaded_count | bigint(11)   | NO   | MUL | 0       |       |
| regdate        | varchar(14)  | YES  | MUL | NULL    |       |
| last_update    | varchar(14)  | YES  | MUL | NULL    |       |
| ipaddress      | varchar(128) | NO   | MUL | NULL    |       |
| list_order     | bigint(11)   | NO   | MUL | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
21 rows in set (0.01 sec)
mysql> desc xe_comments_list;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| comment_srl  | bigint(11)  | NO   | PRI | NULL    |       |
| document_srl | bigint(11)  | NO   | MUL | 0       |       |
| head         | bigint(11)  | NO   |     | 0       |       |
| arrange      | bigint(11)  | NO   |     | 0       |       |
| module_srl   | bigint(11)  | NO   | MUL | 0       |       |
| regdate      | varchar(14) | YES  |     | NULL    |       |
| depth        | bigint(11)  | NO   |     | 0       |       |
+--------------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

상황 : 데이터는 글만 수십만건이고 코멘트까지 더하면 수백만 건으로 추정됨. 글의 고유번호(document_srl)는 이미 부여되어 있으나 코멘트는 고유번호를 부여해주어야 함. 코멘트는 계층 구조를 갖고 있음(depth값이 있음).

p.s. 굳이 직접 DB에 입력하는 방법이 아니더라도 다른 방법이 있다면 소개 부탁드려요. 예를 들어서, xxx.php파일을 인클루드하고 func_xxx()를 호출해서 입력하는 방법이 있을 것 같은데 잘 모르겠네요^^;;
태그 연관 글
  1. [2018/02/12] 묻고답하기 레이아웃 테이블 여백(공백) 문제 by 개구리
  2. [2017/10/29] 묻고답하기 Cafe24 데이터 백업 및 이전방법 by 햄슈터 *1
  3. [2017/08/08] 묻고답하기 시놀로지 XE 설치시 DB 연결 실패 by outsider *4
  4. [2016/03/24] 묻고답하기 폴더안 txt 문서를 php explode 하여 mysql 에 넣는 과정이 안됩니다ㅠㅠ by theaud****
  5. [2016/02/25] 묻고답하기 그누보드5 -> XE로 데이터(db)이전 by deok *5