XE 문서의 작성 시각(regdate)을 바꿔보자

| 2014. 2. 25. 17:54

아무래도 XE에서 문서의 작성 시각을 바꾸는 방법이 없는 것 같더라. MySQL을 써서 직접 DB에 접속, 해당 문서의 정보를 찾아 업데이트 하는 일은 굉장히 간단한 일이나 매번 칼럼을 찾고 쿼리를 치고 하는 것이 귀찮은 만큼 블로그에 그 흔적을 남겨보기로 했다. 물론 윈도우 기반의 DB 관리 툴이나 PHPMyAdmin 같은 웹 기반의 애플리케이션을 사용하면 흔적을 남길 건덕지도 없지만, 역시 남자의 코딩은 커맨드 라인에서 시작하는 것이 아니겠나. 심연의 어둠 속에서 꿈틀거리는 빛의 손놀림, 우리가 나아가야 할 곳은 역시 콘솔이라 할 수 있겠다.

우선 어떤 방식으로든 자신의 XE 서버에 접속을 하자. 그리고 망설이지 말고 DB 접속 가능한 아이디와 비밀번호를 입력하자.

$ mysql -uyour_fxxxing_id -p

MySQL 콘솔이 작동하는 것을 확인했으면 XE DB로 접속해야 한다. 설정값이 조금씩 다를 수도 있(나? 솔직히 잘 모른다.)을 수도 있으니 XE DB의 이름을 모르겠다면 주저없이 확인하자.

mysql> SHOW DATABASES;

XE DB에 접속했다면 이제 쿼리를 날리는 과정밖에 남지 않았다. 별도의 설정을 하지 않았다면 XE 문서의 정보가 저장된 테이블 이름은 xe_documents이고, 문서의 작성 시각이 담긴 칼럼의 이름은 regdate이다. 작성 시각을 수정하고자 하는 문서의 고유 정보를 가장 쉽게 확인할 수 있는 요소는 그 문서의 번호(document_srl)다. 문서의 번호는 시각이 있는 사람이라면 고유 주소에서 바로 확인이 가능하다.

신기하게도 XE의 날짜/시간 관련 레코드는 YYYYMMDDHHMMSS의 형식을 띄고 있다. 굉장히 휴먼 프렌들리한 자료 형태라고 할 수 있으나 그 어느 다른 곳에서도 이런 형태로 날짜/시간 정보를 저장하는 것을 본 적이 없다. 어쨌든 귀찮게시리 유닉스 타임스탬프를 바꾸고자 하는 시각으로부터 환산해서 복사하고 붙여넣기하고 하는 귀찮은 일을 할 필요가 없다.

DB 레코드를 업데이트하는 구문 정도는 모두 암기하고 있을 가능성이 없기 때문에 친절히 포스트에 적어주도록 하겠다.

mysql> UPDATE xe_documents SET regdate = 19881019050000 WHERE document_srl = 000;

끝이다. 참고로 1988년 10월 19일 오전 5시에는 내가 태어났다고 후세 역사가들이 전할 예정이다.

이만 물러나겠습니다.