SchemaSpy와 Docker를 사용하여 데이터베이스 문서 생성 (Windows, Linux, macOS)
Source: Dev.to
소개
SchemaSpy는 데이터베이스에서 인터랙티브한 HTML 문서를 생성하는 도구입니다. 이 가이드는 Oracle을 예시로 사용하지만, SchemaSpy는 PostgreSQL, MySQL, SQL Server 등에서도 동작합니다. Docker를 이용하면 Windows, Linux, macOS 어디서든 실행할 수 있습니다.
사전 준비 사항
- 시스템에 Docker가 설치되어 있어야 합니다(예: Docker Desktop)
- JDBC 드라이버. Docker 이미지에는 다음 드라이버가 포함되어 있습니다:
- MySQL
- MariaDB
- PostgreSQL
- jTDS
이 중 하나를 사용할 경우 별도로 드라이버를 다운로드할 필요가 없습니다.
- Oracle을 사용할 경우, Oracle 웹사이트에서 JDBC 드라이버
ojdbc11.jar를 다운로드하십시오.
시작하기
1단계: 작업 디렉터리 만들기
mkdir schemaspy-doc && cd schemaspy-doc
mkdir drivers output
2단계: JDBC 드라이버 추가
다운로드한 ojdbc11.jar 파일을 방금 만든 drivers/ 폴더로 이동합니다.
3단계: schemaspy.properties 파일 만들기
다음 내용을 포함하는 schemaspy.properties 파일을 생성합니다:
schemaspy.t=orathin-service
schemaspy.driver=oracle.jdbc.OracleDriver
schemaspy.host=server_or_ip
schemaspy.port=1521
schemaspy.db=db_name
schemaspy.u=database_user
schemaspy.p=database_password
schemaspy.schema=schema_name
schemaspy.norows=true
schemaspy.noviews=true
# Required in Oracle
schemaspy.cat=%
schemaspy.t 파라미터에 어떤 값을 넣어야 할지 모를 경우, 다음 명령을 실행해 보세요:
docker run --rm schemaspy/schemaspy -dbHelp
이 명령은 지원되는 데이터베이스 유형과 각 유형에 필요한 파라미터를 나열합니다.
4단계: Docker로 SchemaSpy 실행
Linux/macOS에서
docker run --rm \
-v "$(pwd)/schemaspy.properties:/schemaspy.properties" \
-v "$(pwd)/output:/output" \
-v "$(pwd)/drivers:/drivers" \
schemaspy/schemaspy
Windows (PowerShell)에서
docker run --rm `
-v "${PWD}/schemaspy.properties:/schemaspy.properties" `
-v "${PWD}/output:/output" `
-v "${PWD}/drivers:/drivers" `
schemaspy/schemaspy
Note: Docker 컨테이너 내부에서 데이터베이스 호스트를
localhost로 지정하면 작동하지 않습니다.localhost는 컨테이너 자체를 가리키기 때문입니다. 호스트 머신에서 실행 중인 데이터베이스에 연결하려면host.docker.internal을 사용하십시오. 예:
schemaspy.host=host.docker.internal
5단계: 생성된 문서 보기
명령이 완료되면 output/index.html 파일을 웹 브라우저에서 엽니다. 다음과 같은 내용을 확인할 수 있습니다:
- 엔터티‑관계 다이어그램
- 테이블 구조
- 컬럼, 인덱스, 관계 등
- 아름답고 클릭 가능한 인터랙티브 HTML 인터페이스

