4-1. SQL 변환 Merge 작업 메뉴 상세 분석
메뉴명
XML Merge 작업 - SQLID to XML
목적
변환된 SQL들을 원본 XML 파일 구조로 Merge하여 완전한 MyBatis XML 파일을 생성하는 작업을 수행합니다. 이 과정에서 기존 Target XML 파일들을 삭제한 후 새로운 변환 결과를 병합합니다.
실행 흐름
initOMA.sh
→ execute_sql_transform_merge()
→ delete_target_xml_files.sh
→ processSqlTransform.sh merge
→ sqlTransformTarget.py --mode merge
상세 분석
1. execute_sql_transform_merge() 함수
# 위치: initOMA.sh (490행)
# 실행파일: $APP_TOOLS_FOLDER/../postTransform/delete_target_xml_files.sh
# 실행파일: $OMA_BASE_DIR/bin/processSqlTransform.sh merge
2. delete_target_xml_files.sh (사전 정리 스크립트)
# 위치: $APP_TOOLS_FOLDER/../postTransform/delete_target_xml_files.sh
# 주요 기능: 기존 Target XML 파일들을 삭제하여 Merge 작업 준비
# 실행명령: $APP_TOOLS_FOLDER/../postTransform/delete_target_xml_files.sh
3. processSqlTransform.sh (핵심 실행 스크립트)
# 위치: $OMA_BASE_DIR/bin/processSqlTransform.sh
# 주요 기능: SQL 변환 작업의 Merge 모드 실행
# 실행명령: ./processSqlTransform.sh merge
4. 주요 환경변수 매핑
# 입력 관련 환경변수
APP_TRANSFORM_FOLDER # SQL 변환 작업 디렉토리
SOURCE_SQL_MAPPER_FOLDER # 원본 MyBatis XML 파일 디렉토리
TARGET_SQL_MAPPER_FOLDER # 변환된 MyBatis XML 파일 디렉토리
# 출력 관련 환경변수
TARGET_SQL_MAPPER_FOLDER # Merge된 XML 파일 저장 디렉토리
# 기타 설정 환경변수
APP_TOOLS_FOLDER # 애플리케이션 도구 디렉토리
OMA_BASE_DIR # OMA 기본 디렉토리
5. 작업 단계
5.1 Target XML 파일 삭제
- SQLTransformTarget.csv에서 변환 대상 XML 파일 목록 읽기
- SOURCE_SQL_MAPPER_FOLDER 경로를 TARGET_SQL_MAPPER_FOLDER 경로로 변환
- 기존 Target XML 파일들을 삭제하여 중복 방지
5.2 SQL 변환 Merge 실행
- sqlTransformTarget.py를 merge 모드로 실행
- 변환된 개별 SQL들을 원본 XML 구조에 병합
- 완전한 MyBatis XML 파일 생성
결과 파일
변환된 MyBatis XML 파일
# 출력 경로: $TARGET_SQL_MAPPER_FOLDER
1. [원본파일명].xml # 변환된 SQL이 병합된 완전한 MyBatis XML 파일
2. 배치 상태 파일들 # 병합 작업 진행 상황 추적 파일들
환경 변수 의존성
필수 환경변수
- 파일 경로:
APP_TRANSFORM_FOLDER
,SOURCE_SQL_MAPPER_FOLDER
,TARGET_SQL_MAPPER_FOLDER
- 도구 경로:
APP_TOOLS_FOLDER
,OMA_BASE_DIR
선택적 환경변수
- 프로젝트 정보:
APPLICATION_NAME
사전 조건
- SQL 변환 작업(2-1번 메뉴)이 완료되어 있어야 함
- SQLTransformTarget.csv 파일이 존재해야 함
- 변환된 개별 SQL 파일들이 준비되어 있어야 함
- 필요한 환경변수들이 모두 설정되어 있어야 함
다음 단계
이 단계의 결과물은 다음 단계들에서 사용됩니다:
- 4-2. 변환 작업 보고서: Merge된 XML 파일들의 변환 결과 분석
- 3-1. XML List 생성: Unit Test용 XML 목록 생성
- 3-2. SQL Unit Test: 변환된 SQL 테스트 수행
주요 특징
- 중복 방지: 기존 Target XML 파일들을 사전에 삭제하여 중복 방지
- 배치 처리: 대량의 XML 파일을 효율적으로 처리
- 상태 관리: 병합 작업 진행 상황을 추적하고 관리
- 구조 보존: 원본 XML 파일의 구조를 유지하면서 SQL만 변환하여 병합