wing-ops/database/migration/001_layer_table.sql
htlee 199d5310db refactor(backend): SQLite → PostgreSQL 마이그레이션 + wing DB 연결
- better-sqlite3 제거, wingDb.ts (PostgreSQL wing DB Pool) 추가
- layers 라우터: 동기(better-sqlite3) → 비동기(pg) 전환
- LAYER 테이블 마이그레이션 SQL 생성 (database/migration/001_layer_table.sql)
- seed 스크립트 PostgreSQL 전환
- 문서 업데이트: CLAUDE.md, README.md, docs/README.md, COMMON-GUIDE.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 14:18:00 +09:00

37 lines
2.3 KiB
SQL

-- ================================================================
-- 001: LAYER 테이블 생성 (SQLite layers.db → PostgreSQL wing DB 마이그레이션)
-- ================================================================
-- 기존 SQLite layers 테이블의 데이터를 PostgreSQL wing DB로 이전
-- 공공데이터베이스 표준화 관리 매뉴얼(2021.06) 네이밍 적용
-- ================================================================
CREATE TABLE IF NOT EXISTS LAYER (
LAYER_CD VARCHAR(50) NOT NULL, -- 레이어코드 (기존 cmn_cd)
UP_LAYER_CD VARCHAR(50), -- 상위레이어코드 (기존 up_cmn_cd)
LAYER_FULL_NM VARCHAR(200) NOT NULL, -- 레이어전체명 (기존 cmn_cd_full_nm)
LAYER_NM VARCHAR(100) NOT NULL, -- 레이어명 (기존 cmn_cd_nm)
LAYER_LEVEL INTEGER NOT NULL, -- 레이어레벨 (기존 cmn_cd_level)
WMS_LAYER_NM VARCHAR(100), -- WMS레이어명 (기존 clnm)
USE_YN CHAR(1) NOT NULL DEFAULT 'Y', -- 사용여부
SORT_ORD INTEGER DEFAULT 0, -- 정렬순서
REG_DTM TIMESTAMPTZ NOT NULL DEFAULT NOW(), -- 등록일시
CONSTRAINT PK_LAYER PRIMARY KEY (LAYER_CD),
CONSTRAINT FK_LAYER_UP FOREIGN KEY (UP_LAYER_CD) REFERENCES LAYER(LAYER_CD),
CONSTRAINT CK_LAYER_USE_YN CHECK (USE_YN IN ('Y', 'N'))
);
COMMENT ON TABLE LAYER IS '레이어';
COMMENT ON COLUMN LAYER.LAYER_CD IS '레이어코드 (예: LYR001001)';
COMMENT ON COLUMN LAYER.UP_LAYER_CD IS '상위레이어코드 (상위 레이어 참조)';
COMMENT ON COLUMN LAYER.LAYER_FULL_NM IS '레이어전체명 (계층 경로 포함 전체 명칭)';
COMMENT ON COLUMN LAYER.LAYER_NM IS '레이어명 (표시용 짧은 명칭)';
COMMENT ON COLUMN LAYER.LAYER_LEVEL IS '레이어레벨 (1:최상위, 2:중분류, 3:소분류 ...)';
COMMENT ON COLUMN LAYER.WMS_LAYER_NM IS 'WMS레이어명 (GeoServer WMS 레이어 식별자)';
COMMENT ON COLUMN LAYER.USE_YN IS '사용여부 (Y:사용, N:미사용)';
COMMENT ON COLUMN LAYER.SORT_ORD IS '정렬순서';
COMMENT ON COLUMN LAYER.REG_DTM IS '등록일시';
CREATE INDEX IF NOT EXISTS IDX_LAYER_UP ON LAYER(UP_LAYER_CD);
CREATE INDEX IF NOT EXISTS IDX_LAYER_LEVEL ON LAYER(LAYER_LEVEL);
CREATE INDEX IF NOT EXISTS IDX_LAYER_USE ON LAYER(USE_YN);