-- ============================================================ -- 022_map_base.sql — 지도 백데이터 관리 테이블 -- ============================================================ -- 관리자가 등록한 지도 유형(S-57, S-101, 3D 등)을 DB로 관리하며, -- USE_YN 으로 활성/비활성을 제어해 TopBar 햄버거 메뉴 노출을 조정한다. -- ============================================================ SET search_path TO wing; -- ============================================================ -- 1. 지도 백데이터 마스터 -- ============================================================ CREATE TABLE IF NOT EXISTS MAP_BASE_DATA ( MAP_SN SERIAL PRIMARY KEY, MAP_KEY VARCHAR(30) NOT NULL UNIQUE, -- 지도 식별 키 (s57, s101, threeD, satellite 등) MAP_NM VARCHAR(100) NOT NULL, -- 지도 표시명 (예: S-57 전자해도) MAP_LEVEL_CD VARCHAR(20), -- 지도 레벨 코드: S-52 | S-57 | S-101 | 3D | SAT | 기타 MAP_SRC TEXT, -- 타일 URL 또는 파일 경로 MAP_DC TEXT, -- 상세 설명 USE_YN CHAR(1) DEFAULT 'Y', -- 사용 여부: Y(사용중) / N(미사용) DEL_YN CHAR(1) DEFAULT 'N', -- 삭제 여부: Y(삭제됨) / N(정상) REG_ID VARCHAR(50), -- 등록자 ID REG_NM VARCHAR(50), -- 등록자 이름 REG_DTM TIMESTAMPTZ DEFAULT NOW(), -- 등록 일시 MDFCN_DTM TIMESTAMPTZ DEFAULT NOW() -- 수정 일시 ); -- ============================================================ -- 2. 인덱스 -- ============================================================ CREATE INDEX IF NOT EXISTS IDX_MAP_BASE_USE ON MAP_BASE_DATA(USE_YN); CREATE INDEX IF NOT EXISTS IDX_MAP_BASE_KEY ON MAP_BASE_DATA(MAP_KEY); CREATE INDEX IF NOT EXISTS IDX_MAP_BASE_DEL ON MAP_BASE_DATA(DEL_YN); -- ============================================================ -- 3. 초기 데이터 — 기존 하드코딩 4개 지도 유형 -- ============================================================ INSERT INTO MAP_BASE_DATA (MAP_KEY, MAP_NM, MAP_LEVEL_CD, USE_YN) VALUES ('s57', 'S-57 전자해도', 'S-57', 'Y'), ('s101', 'S-101 전자해도', 'S-101', 'Y'), ('threeD', '3D 지도', '3D', 'Y'), ('satellite', '위성 영상', 'SAT', 'Y') ON CONFLICT (MAP_KEY) DO NOTHING;