-- 외부 DB 초기화 스크립트
-- 외부 시스템 연동, 데이터 마이그레이션, 멀티 DB 테스트용
-- Using incheon_geo schema

-- 스키마 설정
SET search_path = incheon_geo, public;

-- PostGIS 확장 활성화 (이미 초기화 스크립트에서 실행됨)
-- CREATE EXTENSION IF NOT EXISTS postgis;

-- 외부 DB 테스트용 기본 테이블
CREATE TABLE IF NOT EXISTS incheon_geo.external_test (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    description TEXT,
    location GEOMETRY(POINT, 4326),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 외부 시스템 연동 테이블 예제
CREATE TABLE IF NOT EXISTS incheon_geo.external_system_data (
    id SERIAL PRIMARY KEY,
    system_id VARCHAR(50) NOT NULL,
    data_type VARCHAR(50) NOT NULL,
    data_value JSONB,
    sync_status VARCHAR(20) DEFAULT 'PENDING',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 인덱스 생성
CREATE INDEX IF NOT EXISTS idx_external_test_location ON incheon_geo.external_test USING GIST (location);
CREATE INDEX IF NOT EXISTS idx_external_system_data_system_id ON incheon_geo.external_system_data (system_id);
CREATE INDEX IF NOT EXISTS idx_external_system_data_sync_status ON incheon_geo.external_system_data (sync_status);

-- 코멘트 추가
COMMENT ON TABLE incheon_geo.external_test IS '외부 DB 테스트용 기본 테이블';
COMMENT ON TABLE incheon_geo.external_system_data IS '외부 시스템 연동 데이터 테이블'; 