Files
vexplor/docs/COLUMN_LABELS_MIGRATION_COMPLETE.md
DDD1542 192b678bce fix: 화면 복제 기능 개선 및 관련 버그 수정
- 화면 복제 기능을 개선하여 DB 구조 개편 후의 효율적인 화면 관리를 지원합니다.
- 그룹 복제 시 버튼의 `targetScreenId`가 새 화면으로 매핑되지 않는 버그를 수정하였습니다.
- 관련된 서비스 및 쿼리에서 `table_type_columns`를 사용하여 라벨 정보를 조회하도록 변경하였습니다.
- 여러 컨트롤러 및 서비스에서 `column_labels` 대신 `table_type_columns`를 참조하도록 업데이트하였습니다.
2026-01-28 11:24:25 +09:00

2.8 KiB

column_labels → table_type_columns 마이그레이션 완료

작업일: 2026-01-26


개요

column_labels 테이블의 데이터를 table_type_columns로 통합하여 멀티테넌시를 지원하고 데이터 중복을 제거함.


변경 사항

1. 스키마 확장

table_type_columns에 누락된 컬럼 추가:

컬럼명 타입 설명
column_label VARCHAR(200) 컬럼 라벨
reference_table VARCHAR(100) 참조 테이블
reference_column VARCHAR(100) 참조 컬럼
display_column VARCHAR(100) 표시 컬럼
code_category VARCHAR(100) 코드 카테고리
code_value VARCHAR(100) 코드 값
description TEXT 설명
is_visible BOOLEAN 표시 여부
web_type VARCHAR(50) 웹 타입 (레거시)

2. 데이터 마이그레이션

column_labels (company_code 없음)
        ↓
table_type_columns (company_code = '*')

통합 기준:

  • column_labels 데이터 → company_code = '*' (공통 설정)
  • 기존 회사별 설정 → 유지
  • 회사별 빈 값 → 공통(*)에서 복사 (COALESCE)

3. 코드 수정

12개 파일 수정:

파일 주요 변경
tableManagementService.ts SELECT/INSERT → table_type_columns
screenManagementService.ts JOIN column_labels → table_type_columns
entityJoinService.ts 엔티티 조인 쿼리 변경
ddlExecutionService.ts DDL 시 column_labels 제거
screenGroupController.ts 화면 그룹 쿼리 변경
tableManagementController.ts 컬럼 관리 쿼리 변경
adminController.ts 스키마 조회 변경
flowController.ts 플로우 컬럼 조회 변경
entityReferenceController.ts 엔티티 참조 변경
masterDetailExcelService.ts 엑셀 처리 변경
categoryTreeService.ts 카테고리 트리 변경
dataService.ts 데이터 서비스 변경

백업

column_labels_backup_20260126  -- 원본 백업
table_type_columns_backup_20260126  -- 마이그레이션 전 백업

남은 작업

  • 기능 테스트 (엔티티 조인, 화면 설정, 컬럼 라벨)
  • 1-2주 모니터링
  • column_labels 테이블 삭제
  • ddl.ts에서 systemTables 배열 정리

롤백 방법

문제 발생 시:

-- 1. 백업에서 복원
DROP TABLE IF EXISTS column_labels;
CREATE TABLE column_labels AS SELECT * FROM column_labels_backup_20260126;

-- 2. table_type_columns 복원
DROP TABLE IF EXISTS table_type_columns;
CREATE TABLE table_type_columns AS SELECT * FROM table_type_columns_backup_20260126;
  • Git에서 코드 롤백 필요

결과

항목 Before After
테이블 수 2개 1개
멀티테넌시 부분 지원 완전 지원
데이터 중복 있음 없음