44 lines
2.4 KiB
SQL
44 lines
2.4 KiB
SQL
-- ============================================================
|
|
-- 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;
|