112 lines
6.7 KiB
SQL
112 lines
6.7 KiB
SQL
-- ============================================================
|
||
-- 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;
|