컴퓨터 공학/작업일지

MariaDB 칼럼 정의문서 자동 생성 프로그램

혼새미로 2020. 1. 17. 18:52
반응형


[문제정의]

팀장님이 현재 회사에서 사용하고 있는 DB의 모든 테이블에 대해 칼럼 정보를 엑셀 파일에 작성해달라는 요청을 받았다. 테이블 개수가 많지 않으면 직접 입력하는데 얼마 걸리지 않겠지만, 현재 회사에서 개발한 제품을 운영하는데 사용되는 테이블의 개수는 약 60개 정도 된다. 그리고 각 테이블 별로 칼럼이 평균적으로 10개에서 15개 정도 되는데, 각 칼럼에 대한 이름, 설명, NULL 허용 여부, 타입 등에 대한 정보를 일일이 입력하는 것은 꽤 길고 지루한 작업이었다. 


[도구조사]

왠지 나와 같은 고민을 한 사람들이 있을 것 같아서 구글에 MariaDB 사용자를 위한 칼럼 정의서를 자동으로 생성해주는 프로그램이 있는지 조사해보았으나, 이런 류의 프로그램 자체도 별로 없었고, 그 중에서 오라클을 위한 TOAD (Tools for Oracle Application Development)라는 프로그램이 있었지만 MariaDB 사용자인 나는 사용할 수 없었다. 


[목표설정]

칼럼 정의서를 일일이 작성할 시간에 내가 직접 프로그램을 만드는 게 시간이 절약될 것 같다고 판단하여 Node.js 기반의 칼럼 정의서 자동 작성 프로그램을 개발하기로 하였다. 사용자가 문서로 작성할 DB 이름 목록을 프로그램에 파라미터로 전달해주면 프로그램이 직접 MariaDB 서버에 접속해서 각 DB의 테이블 정보를 가져와서 지정된 항목에 값을 넣어 엑셀 파일로 만들어준다.


[개발]

Node.js에 mariadb 모듈을 통해 MariaDB 서버에 접속하여 필요한 데이터를 가져오고, excel4node 모듈을 통해 가져온 데이터를 엑셀 문서로 작성할 수 있다.


[결과]


엑셀 문서에는 DB명, 테이블명, 칼럼순번, 칼럼명, 칼럼설명, NULL 허용여부, 데이터 타입, 데이터 길이, KEY, 자동여부, 디폴트값을 기록하였다. 그 중에서 칼럼설명은 COMMENT 키워드를 사용하여 MariaDB의 각 칼럼에 설명을 입력할 수 있다.


[다운로드]

혹시 나와 같은 상황에 처해 이 프로그램이 필요할 수도 있는 분들을 위해 프로그램을 첨부 파일로 남긴다.


TableDefiner.z01

TableDefiner.zip


혹시 구글 저장소에서 내려받고 싶다면 아래에서 내려받을 수 있다.

구글 저장소에서 내려받기


GUI 버전 프로그램은 여기서 받을 수 있다.


[소스]

혹시 개발자로서 소스코드가 궁금하다면 여기서 내려받을 수 있다.

반응형

'컴퓨터 공학 > 작업일지' 카테고리의 다른 글

HTTP Digest 인증 문제  (2) 2020.01.26