-- ============================================================ -- 마이그레이션 005: DB 통합 (wing + wing_auth → wing 단일 DB) -- -- 스키마 구조: -- wing — 운영 데이터 (LAYER, BOARD_POST, HNS_SUBSTANCE 등) -- auth — 인증/인가 데이터 (AUTH_USER, AUTH_ROLE 등) -- public — PostGIS 시스템 테이블만 유지 (spatial_ref_sys) -- -- 실행 순서: -- 1. 이 SQL을 wing DB에서 실행 (스키마 생성 + 테이블 이동) -- 2. wing_auth DB 덤프 → auth 스키마로 복원 (별도 쉘) -- 3. search_path 설정 -- ============================================================ -- Step 1: 명시적 스키마 생성 CREATE SCHEMA IF NOT EXISTS wing; CREATE SCHEMA IF NOT EXISTS auth; -- Step 2: 기존 public 운영 테이블을 wing 스키마로 이동 -- (PostGIS 시스템 테이블 spatial_ref_sys, topology는 public에 유지) ALTER TABLE IF EXISTS public.layer SET SCHEMA wing; ALTER TABLE IF EXISTS public.hns_substance SET SCHEMA wing; -- Step 3: 기본 search_path 설정 (DB 레벨) -- wing 사용자가 스키마 접두사 없이 양쪽 테이블 접근 가능 ALTER DATABASE wing SET search_path = wing, auth; -- Step 4: wing 사용자에게 auth 스키마 권한 부여 -- (wing_auth 데이터 복원 후 적용) GRANT USAGE ON SCHEMA auth TO wing; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA auth TO wing; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA auth TO wing; ALTER DEFAULT PRIVILEGES IN SCHEMA auth GRANT ALL ON TABLES TO wing; ALTER DEFAULT PRIVILEGES IN SCHEMA auth GRANT ALL ON SEQUENCES TO wing; -- Step 5: wing 스키마 기본 권한 GRANT ALL PRIVILEGES ON SCHEMA wing TO wing; ALTER DEFAULT PRIVILEGES IN SCHEMA wing GRANT ALL ON TABLES TO wing; ALTER DEFAULT PRIVILEGES IN SCHEMA wing GRANT ALL ON SEQUENCES TO wing; -- 검증 SELECT schemaname, tablename FROM pg_tables WHERE schemaname IN ('wing', 'auth') ORDER BY schemaname, tablename;