snp-batch-validation/docs/compliance_category_migration.sql
HYOJIN e3465401a2 feat(screening): Risk & Compliance Screening Guide UI 개편 및 다중언어 지원 (#124)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:52:00 +09:00

112 lines
6.7 KiB
SQL
Raw Blame 히스토리

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================================
-- Compliance 카테고리 다중언어 마이그레이션 스크립트
-- ============================================================
-- 1. 카테고리 마스터 테이블 생성
CREATE TABLE IF NOT EXISTS std_snp_data.compliance_category (
category_code VARCHAR(50) PRIMARY KEY,
indicator_type VARCHAR(20) NOT NULL,
sort_order INTEGER NOT NULL
);
-- 2. 카테고리 다중언어 테이블 생성
CREATE TABLE IF NOT EXISTS std_snp_data.compliance_category_lang (
category_code VARCHAR(50) NOT NULL,
lang_code VARCHAR(5) NOT NULL,
category_name VARCHAR(200) NOT NULL,
PRIMARY KEY (category_code, lang_code)
);
-- 3. 카테고리 마스터 데이터 삽입
INSERT INTO std_snp_data.compliance_category (category_code, indicator_type, sort_order) VALUES
('SANCTIONS_SHIP_US_OFAC', 'SHIP', 1),
('SANCTIONS_OWNERSHIP_US_OFAC', 'SHIP', 2),
('SANCTIONS_SHIP_NON_US', 'SHIP', 3),
('SANCTIONS_OWNERSHIP_NON_US', 'SHIP', 4),
('SANCTIONS_FATF', 'SHIP', 5),
('SANCTIONS_OTHER', 'SHIP', 6),
('PORT_CALLS', 'SHIP', 7),
('STS_ACTIVITY', 'SHIP', 8),
('SUSPICIOUS_BEHAVIOR', 'SHIP', 9),
('OWNERSHIP_SCREENING', 'SHIP', 10),
('COMPLIANCE_SCREENING_HISTORY', 'SHIP', 11),
('US_TREASURY_SANCTIONS', 'COMPANY', 1),
('NON_US_SANCTIONS', 'COMPANY', 2),
('FATF_JURISDICTION', 'COMPANY', 3),
('PARENT_COMPANY', 'COMPANY', 4),
('OVERALL_COMPLIANCE_STATUS', 'COMPANY', 5),
('RELATED_SCREENING', 'COMPANY', 6),
('COMPANY_COMPLIANCE_HISTORY', 'COMPANY', 7);
-- 4. 카테고리 다중언어 데이터 삽입 (EN)
INSERT INTO std_snp_data.compliance_category_lang (category_code, lang_code, category_name) VALUES
('SANCTIONS_SHIP_US_OFAC', 'EN', 'Sanctions Ship (US OFAC)'),
('SANCTIONS_OWNERSHIP_US_OFAC', 'EN', 'Sanctions Ownership (US OFAC)'),
('SANCTIONS_SHIP_NON_US', 'EN', 'Sanctions Ship (Non-US)'),
('SANCTIONS_OWNERSHIP_NON_US', 'EN', 'Sanctions Ownership (Non-US)'),
('SANCTIONS_FATF', 'EN', 'Sanctions FATF'),
('SANCTIONS_OTHER', 'EN', 'Sanctions Other'),
('PORT_CALLS', 'EN', 'Port Calls'),
('STS_ACTIVITY', 'EN', 'STS Activity'),
('SUSPICIOUS_BEHAVIOR', 'EN', 'Suspicious Behavior'),
('OWNERSHIP_SCREENING', 'EN', 'Ownership Screening'),
('COMPLIANCE_SCREENING_HISTORY', 'EN', 'Compliance Screening History'),
('US_TREASURY_SANCTIONS', 'EN', 'US Treasury Sanctions'),
('NON_US_SANCTIONS', 'EN', 'Non-US Sanctions'),
('FATF_JURISDICTION', 'EN', 'FATF Jurisdiction'),
('PARENT_COMPANY', 'EN', 'Parent Company'),
('OVERALL_COMPLIANCE_STATUS', 'EN', 'Overall Compliance Status'),
('RELATED_SCREENING', 'EN', 'Related Screening'),
('COMPANY_COMPLIANCE_HISTORY', 'EN', 'Compliance Screening Change History');
-- 5. 카테고리 다중언어 데이터 삽입 (KO)
INSERT INTO std_snp_data.compliance_category_lang (category_code, lang_code, category_name) VALUES
('SANCTIONS_SHIP_US_OFAC', 'KO', '제재 선박 (US OFAC)'),
('SANCTIONS_OWNERSHIP_US_OFAC', 'KO', '제재 소유권 (US OFAC)'),
('SANCTIONS_SHIP_NON_US', 'KO', '제재 선박 (비미국)'),
('SANCTIONS_OWNERSHIP_NON_US', 'KO', '제재 소유권 (비미국)'),
('SANCTIONS_FATF', 'KO', '제재 FATF'),
('SANCTIONS_OTHER', 'KO', '제재 기타'),
('PORT_CALLS', 'KO', '입항 이력'),
('STS_ACTIVITY', 'KO', 'STS 활동'),
('SUSPICIOUS_BEHAVIOR', 'KO', '의심 행위'),
('OWNERSHIP_SCREENING', 'KO', '소유권 심사'),
('COMPLIANCE_SCREENING_HISTORY', 'KO', '컴플라이언스 심사 이력'),
('US_TREASURY_SANCTIONS', 'KO', '미국 재무부 제재'),
('NON_US_SANCTIONS', 'KO', '비미국 제재'),
('FATF_JURISDICTION', 'KO', 'FATF 관할지역'),
('PARENT_COMPANY', 'KO', '모회사'),
('OVERALL_COMPLIANCE_STATUS', 'KO', '종합 컴플라이언스 상태'),
('RELATED_SCREENING', 'KO', '관련 심사'),
('COMPANY_COMPLIANCE_HISTORY', 'KO', '컴플라이언스 심사 변경 이력');
-- 6. compliance_indicator 테이블: category → category_code 변환
-- 먼저 컬럼 추가
ALTER TABLE std_snp_data.compliance_indicator ADD COLUMN category_code VARCHAR(50);
-- 기존 category 값을 category_code로 매핑
UPDATE std_snp_data.compliance_indicator SET category_code = 'SANCTIONS_SHIP_US_OFAC' WHERE category = 'Sanctions Ship (US OFAC)';
UPDATE std_snp_data.compliance_indicator SET category_code = 'SANCTIONS_OWNERSHIP_US_OFAC' WHERE category = 'Sanctions Ownership (US OFAC)';
UPDATE std_snp_data.compliance_indicator SET category_code = 'SANCTIONS_SHIP_NON_US' WHERE category = 'Sanctions Ship (Non-US)';
UPDATE std_snp_data.compliance_indicator SET category_code = 'SANCTIONS_OWNERSHIP_NON_US' WHERE category = 'Sanctions Ownership (Non-US)';
UPDATE std_snp_data.compliance_indicator SET category_code = 'SANCTIONS_FATF' WHERE category = 'Sanctions FATF';
UPDATE std_snp_data.compliance_indicator SET category_code = 'SANCTIONS_OTHER' WHERE category = 'Sanctions Other';
UPDATE std_snp_data.compliance_indicator SET category_code = 'PORT_CALLS' WHERE category = 'Port Calls';
UPDATE std_snp_data.compliance_indicator SET category_code = 'STS_ACTIVITY' WHERE category = 'STS Activity';
UPDATE std_snp_data.compliance_indicator SET category_code = 'SUSPICIOUS_BEHAVIOR' WHERE category = 'Suspicious Behavior';
UPDATE std_snp_data.compliance_indicator SET category_code = 'OWNERSHIP_SCREENING' WHERE category = 'Ownership Screening';
UPDATE std_snp_data.compliance_indicator SET category_code = 'COMPLIANCE_SCREENING_HISTORY' WHERE category = 'Compliance Screening History';
UPDATE std_snp_data.compliance_indicator SET category_code = 'US_TREASURY_SANCTIONS' WHERE category = 'US Treasury Sanctions';
UPDATE std_snp_data.compliance_indicator SET category_code = 'NON_US_SANCTIONS' WHERE category = 'Non-US Sanctions';
UPDATE std_snp_data.compliance_indicator SET category_code = 'FATF_JURISDICTION' WHERE category = 'FATF Jurisdiction';
UPDATE std_snp_data.compliance_indicator SET category_code = 'PARENT_COMPANY' WHERE category = 'Parent Company';
UPDATE std_snp_data.compliance_indicator SET category_code = 'OVERALL_COMPLIANCE_STATUS' WHERE category = 'Overall Compliance Status';
UPDATE std_snp_data.compliance_indicator SET category_code = 'RELATED_SCREENING' WHERE category = 'Related Screening';
UPDATE std_snp_data.compliance_indicator SET category_code = 'COMPANY_COMPLIANCE_HISTORY' WHERE category = 'Compliance Screening Change History';
-- category_code NOT NULL 설정
ALTER TABLE std_snp_data.compliance_indicator ALTER COLUMN category_code SET NOT NULL;
-- 기존 category 컬럼 삭제
ALTER TABLE std_snp_data.compliance_indicator DROP COLUMN category;