- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
4.7 KiB
4.7 KiB
WACE PLM 데이터베이스 초기화 가이드
개요
WACE PLM 시스템의 데이터베이스를 초기화하는 방법을 설명합니다. db/dbexport.pgsql 파일을 사용하여 PostgreSQL 데이터베이스에 초기 데이터를 임포트할 수 있습니다.
방법 1: 독립실행환경 (Standalone) - 권장
로컬 PostgreSQL 컨테이너를 포함한 완전한 독립실행환경입니다. 데이터베이스가 자동으로 초기화됩니다.
사용법
# 독립실행환경으로 시작 (로컬 DB 포함)
./start-docker-linux.sh -e standalone
# 또는 Docker 정리 후 시작
./start-docker-linux.sh -e standalone -c
특징
- 로컬 PostgreSQL 컨테이너 자동 생성
dbexport.pgsql파일 자동 임포트- 외부 데이터베이스 의존성 없음
- 접속 정보:
- 애플리케이션: http://localhost:8090
- 데이터베이스: localhost:5432
- 사용자: postgres
- 비밀번호: waceplm0909!!
방법 2: 기존 환경에서 데이터베이스 초기화
기존 개발환경이나 운영환경에서 외부 데이터베이스에 초기 데이터를 임포트합니다.
사용법
# 개발환경 데이터베이스 초기화
./start-docker-linux.sh -e dev -i
# 운영환경 데이터베이스 초기화
./start-docker-linux.sh -e prod -i
# 데이터베이스 초기화만 실행 (컨테이너 시작 안함)
./start-docker-linux.sh -i
특징
- 기존 데이터 자동 백업 생성
- 연결 테스트 후 임포트 실행
- 임포트 결과 검증
- Docker를 사용한 안전한 임포트
방법 3: 수동 스크립트 사용
PostgreSQL 클라이언트 직접 사용
# 기본 설정으로 초기화
./init-db.sh
# 사용자 정의 설정으로 초기화
./init-db.sh dev 211.115.91.141 11132 waceplm postgres waceplm0909!!
Docker를 사용한 초기화
# 기본 설정으로 초기화
./init-db-docker.sh
# 사용자 정의 설정으로 초기화
./init-db-docker.sh 211.115.91.141 11132 waceplm postgres waceplm0909!!
파일 구조
db/
├── 00-create-roles.sh # 데이터베이스 역할 생성 스크립트
└── dbexport.pgsql # 데이터베이스 덤프 파일 (200MB+)
# 새로 추가된 파일들
├── docker-compose.standalone.yml # 독립실행환경 설정
├── init-db.sh # 수동 DB 초기화 스크립트
├── init-db-docker.sh # Docker 기반 DB 초기화 스크립트
└── start-docker-linux.sh # 통합 실행 스크립트 (업데이트됨)
환경별 설정
개발환경 (dev)
- Docker Compose:
docker-compose.dev.yml - 환경 변수:
.env.development - 외부 DB: 211.115.91.141:11132
운영환경 (prod)
- Docker Compose:
docker-compose.prod.yml - 환경 변수:
.env.production - 외부 DB: 설정에 따라
독립실행환경 (standalone)
- Docker Compose:
docker-compose.standalone.yml - 로컬 PostgreSQL 컨테이너 사용
- 자동 DB 초기화
주의사항
-
대용량 파일:
dbexport.pgsql파일이 200MB 이상이므로 임포트에 시간이 걸릴 수 있습니다. -
백업: 기존 데이터가 있는 경우 자동으로 백업이 생성됩니다.
- 백업 파일명:
backup_YYYYMMDD_HHMMSS.sql
- 백업 파일명:
-
권한: 스크립트 실행 전 권한을 확인하세요.
chmod +x *.sh -
연결 테스트: 임포트 전에 데이터베이스 연결을 테스트합니다.
-
에러 처리: 임포트 실패 시 백업 파일을 사용하여 복원할 수 있습니다.
트러블슈팅
연결 실패
# 데이터베이스 서비스 상태 확인
docker ps | grep postgres
# 네트워크 연결 확인
telnet [DB_HOST] [DB_PORT]
임포트 실패
# 로그 확인
./start-docker-linux.sh -l
# 수동 복원
psql -h [HOST] -p [PORT] -U [USER] -d [DB] < backup_YYYYMMDD_HHMMSS.sql
권한 문제
# 스크립트 권한 확인
ls -la *.sh
# 권한 부여
chmod +x *.sh
예시 사용 시나리오
최초 설치 시
# 1. 독립실행환경으로 시작 (권장)
./start-docker-linux.sh -e standalone
# 2. 또는 개발환경에서 DB 초기화 후 시작
./start-docker-linux.sh -e dev -i
데이터 리셋 시
# 1. 컨테이너 중지
./start-docker-linux.sh -s
# 2. Docker 정리 후 재시작
./start-docker-linux.sh -e standalone -c
운영환경 배포 시
# 1. 데이터베이스 초기화
./start-docker-linux.sh -e prod -i
# 2. 애플리케이션 시작
./start-docker-linux.sh -e prod
이 가이드를 통해 WACE PLM 시스템의 데이터베이스를 안전하고 효율적으로 초기화할 수 있습니다.