feat: Refactor monolith to microservices architecture
This commit is contained in:
160
axhub-gateway/src/main/resources/SOATM0100_DDL.sql
Normal file
160
axhub-gateway/src/main/resources/SOATM0100_DDL.sql
Normal file
@@ -0,0 +1,160 @@
|
||||
-- ============================================================
|
||||
-- AX HUB 역할-Tool/지식 권한 관리 DDL
|
||||
-- 대상 스키마 : 프로젝트 AP 스키마 (S_EIAM_TIS 는 읽기전용 참조)
|
||||
-- 작성일 : 2026-06-25
|
||||
-- ============================================================
|
||||
|
||||
-- ① Tool 마스터
|
||||
CREATE TABLE AX_TOOL_MST (
|
||||
TOOL_ID VARCHAR(20) NOT NULL, -- Tool ID (PK)
|
||||
TOOL_NM VARCHAR(100) NOT NULL, -- Tool명
|
||||
TOOL_DS VARCHAR(500), -- Tool설명
|
||||
TOOL_TYPE_CD VARCHAR(20), -- Tool유형코드 (MCP / FUNC / EXT)
|
||||
PUSE_YN VARCHAR(1) DEFAULT 'Y',-- 사용여부
|
||||
SYST_RGI_DT DATE,
|
||||
SYST_RGI_PRAF_NO VARCHAR(8),
|
||||
SYST_RGI_OGNZ_NO VARCHAR(7),
|
||||
SYST_RGI_SYST_CD VARCHAR(3),
|
||||
SYST_RGI_PRGR_ID VARCHAR(100),
|
||||
SYST_CHG_DT DATE,
|
||||
SYST_CHG_PRAF_NO VARCHAR(8),
|
||||
SYST_CHG_OGNZ_NO VARCHAR(7),
|
||||
SYST_CHG_SYST_CD VARCHAR(3),
|
||||
SYST_CHG_PRGR_ID VARCHAR(100),
|
||||
CONSTRAINT PK_AX_TOOL_MST PRIMARY KEY (TOOL_ID)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE AX_TOOL_MST IS 'AX HUB Tool 마스터';
|
||||
COMMENT ON COLUMN AX_TOOL_MST.TOOL_ID IS 'Tool ID (PK)';
|
||||
COMMENT ON COLUMN AX_TOOL_MST.TOOL_NM IS 'Tool명';
|
||||
COMMENT ON COLUMN AX_TOOL_MST.TOOL_DS IS 'Tool설명';
|
||||
COMMENT ON COLUMN AX_TOOL_MST.TOOL_TYPE_CD IS 'Tool유형코드 (MCP/FUNC/EXT)';
|
||||
COMMENT ON COLUMN AX_TOOL_MST.PUSE_YN IS '사용여부 (Y/N)';
|
||||
|
||||
|
||||
-- ② 지식(Knowledge) 마스터
|
||||
CREATE TABLE AX_KNWL_MST (
|
||||
KNWL_ID VARCHAR(20) NOT NULL, -- 지식 ID (PK)
|
||||
KNWL_NM VARCHAR(100) NOT NULL, -- 지식명
|
||||
KNWL_DS VARCHAR(500), -- 지식설명
|
||||
KNWL_TYPE_CD VARCHAR(20), -- 지식유형코드 (PRODUCT/MANUAL/LEGAL 등)
|
||||
PUSE_YN VARCHAR(1) DEFAULT 'Y',
|
||||
SYST_RGI_DT DATE,
|
||||
SYST_RGI_PRAF_NO VARCHAR(8),
|
||||
SYST_RGI_OGNZ_NO VARCHAR(7),
|
||||
SYST_RGI_SYST_CD VARCHAR(3),
|
||||
SYST_RGI_PRGR_ID VARCHAR(100),
|
||||
SYST_CHG_DT DATE,
|
||||
SYST_CHG_PRAF_NO VARCHAR(8),
|
||||
SYST_CHG_OGNZ_NO VARCHAR(7),
|
||||
SYST_CHG_SYST_CD VARCHAR(3),
|
||||
SYST_CHG_PRGR_ID VARCHAR(100),
|
||||
CONSTRAINT PK_AX_KNWL_MST PRIMARY KEY (KNWL_ID)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE AX_KNWL_MST IS 'AX HUB 지식 마스터';
|
||||
COMMENT ON COLUMN AX_KNWL_MST.KNWL_ID IS '지식 ID (PK)';
|
||||
COMMENT ON COLUMN AX_KNWL_MST.KNWL_NM IS '지식명';
|
||||
COMMENT ON COLUMN AX_KNWL_MST.KNWL_DS IS '지식설명';
|
||||
COMMENT ON COLUMN AX_KNWL_MST.KNWL_TYPE_CD IS '지식유형코드 (PRODUCT/MANUAL/LEGAL/REPORT)';
|
||||
COMMENT ON COLUMN AX_KNWL_MST.PUSE_YN IS '사용여부 (Y/N)';
|
||||
|
||||
|
||||
-- ③ 역할-Tool 권한 매핑
|
||||
-- SYST_ID + ROLE_NO → S_EIAM_TIS.AA_ROLE 참조 (FK 미설정: 스키마 분리 환경)
|
||||
CREATE TABLE AX_ROLE_TOOL_ATHR (
|
||||
ROLE_TOOL_ATHR_ID VARCHAR(20) NOT NULL, -- 역할Tool권한ID (PK)
|
||||
SYST_ID VARCHAR(10) NOT NULL, -- 시스템ID (EIAM 연동 키)
|
||||
ROLE_NO VARCHAR(50) NOT NULL, -- 역할번호 (EIAM AA_ROLE.ROLE_NO)
|
||||
TOOL_ID VARCHAR(20) NOT NULL, -- Tool ID
|
||||
PUSE_YN VARCHAR(1) DEFAULT 'Y',
|
||||
SYST_RGI_DT DATE,
|
||||
SYST_RGI_PRAF_NO VARCHAR(8),
|
||||
SYST_RGI_OGNZ_NO VARCHAR(7),
|
||||
SYST_RGI_SYST_CD VARCHAR(3),
|
||||
SYST_RGI_PRGR_ID VARCHAR(100),
|
||||
SYST_CHG_DT DATE,
|
||||
SYST_CHG_PRAF_NO VARCHAR(8),
|
||||
SYST_CHG_OGNZ_NO VARCHAR(7),
|
||||
SYST_CHG_SYST_CD VARCHAR(3),
|
||||
SYST_CHG_PRGR_ID VARCHAR(100),
|
||||
CONSTRAINT PK_AX_ROLE_TOOL_ATHR PRIMARY KEY (ROLE_TOOL_ATHR_ID)
|
||||
);
|
||||
|
||||
-- (SYST_ID, ROLE_NO, TOOL_ID) 중복 방지
|
||||
CREATE UNIQUE INDEX UK_AX_ROLE_TOOL_ATHR
|
||||
ON AX_ROLE_TOOL_ATHR (SYST_ID, ROLE_NO, TOOL_ID);
|
||||
|
||||
COMMENT ON TABLE AX_ROLE_TOOL_ATHR IS '역할-Tool 권한 매핑';
|
||||
COMMENT ON COLUMN AX_ROLE_TOOL_ATHR.ROLE_TOOL_ATHR_ID IS '역할Tool권한ID (PK)';
|
||||
COMMENT ON COLUMN AX_ROLE_TOOL_ATHR.SYST_ID IS '시스템ID';
|
||||
COMMENT ON COLUMN AX_ROLE_TOOL_ATHR.ROLE_NO IS '역할번호 (EIAM)';
|
||||
COMMENT ON COLUMN AX_ROLE_TOOL_ATHR.TOOL_ID IS 'Tool ID';
|
||||
COMMENT ON COLUMN AX_ROLE_TOOL_ATHR.PUSE_YN IS '사용여부';
|
||||
|
||||
|
||||
-- ④ 역할-지식 권한 매핑
|
||||
CREATE TABLE AX_ROLE_KNWL_ATHR (
|
||||
ROLE_KNWL_ATHR_ID VARCHAR(20) NOT NULL, -- 역할지식권한ID (PK)
|
||||
SYST_ID VARCHAR(10) NOT NULL,
|
||||
ROLE_NO VARCHAR(50) NOT NULL,
|
||||
KNWL_ID VARCHAR(20) NOT NULL,
|
||||
PUSE_YN VARCHAR(1) DEFAULT 'Y',
|
||||
SYST_RGI_DT DATE,
|
||||
SYST_RGI_PRAF_NO VARCHAR(8),
|
||||
SYST_RGI_OGNZ_NO VARCHAR(7),
|
||||
SYST_RGI_SYST_CD VARCHAR(3),
|
||||
SYST_RGI_PRGR_ID VARCHAR(100),
|
||||
SYST_CHG_DT DATE,
|
||||
SYST_CHG_PRAF_NO VARCHAR(8),
|
||||
SYST_CHG_OGNZ_NO VARCHAR(7),
|
||||
SYST_CHG_SYST_CD VARCHAR(3),
|
||||
SYST_CHG_PRGR_ID VARCHAR(100),
|
||||
CONSTRAINT PK_AX_ROLE_KNWL_ATHR PRIMARY KEY (ROLE_KNWL_ATHR_ID)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX UK_AX_ROLE_KNWL_ATHR
|
||||
ON AX_ROLE_KNWL_ATHR (SYST_ID, ROLE_NO, KNWL_ID);
|
||||
|
||||
COMMENT ON TABLE AX_ROLE_KNWL_ATHR IS '역할-지식 권한 매핑';
|
||||
COMMENT ON COLUMN AX_ROLE_KNWL_ATHR.ROLE_KNWL_ATHR_ID IS '역할지식권한ID (PK)';
|
||||
COMMENT ON COLUMN AX_ROLE_KNWL_ATHR.SYST_ID IS '시스템ID';
|
||||
COMMENT ON COLUMN AX_ROLE_KNWL_ATHR.ROLE_NO IS '역할번호 (EIAM)';
|
||||
COMMENT ON COLUMN AX_ROLE_KNWL_ATHR.KNWL_ID IS '지식ID';
|
||||
COMMENT ON COLUMN AX_ROLE_KNWL_ATHR.PUSE_YN IS '사용여부';
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 샘플 데이터 (개발용)
|
||||
-- ============================================================
|
||||
INSERT INTO AX_TOOL_MST
|
||||
(TOOL_ID, TOOL_NM, TOOL_DS, TOOL_TYPE_CD, PUSE_YN,
|
||||
SYST_RGI_DT, SYST_RGI_PRAF_NO, SYST_RGI_OGNZ_NO, SYST_RGI_SYST_CD, SYST_RGI_PRGR_ID,
|
||||
SYST_CHG_DT, SYST_CHG_PRAF_NO, SYST_CHG_OGNZ_NO, SYST_CHG_SYST_CD, SYST_CHG_PRGR_ID)
|
||||
VALUES
|
||||
('TOOL_A', '지식 검색', '지식베이스 내 문서 의미 기반 검색', 'MCP', 'Y',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100'),
|
||||
('TOOL_B', 'DB 조회', '사내 데이터베이스 직접 조회 (GLOW)', 'MCP', 'Y',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100'),
|
||||
('TOOL_C', '문서 생성', 'AI 기반 문서 초안 자동 생성', 'FUNC', 'Y',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100');
|
||||
|
||||
INSERT INTO AX_KNWL_MST
|
||||
(KNWL_ID, KNWL_NM, KNWL_DS, KNWL_TYPE_CD, PUSE_YN,
|
||||
SYST_RGI_DT, SYST_RGI_PRAF_NO, SYST_RGI_OGNZ_NO, SYST_RGI_SYST_CD, SYST_RGI_PRGR_ID,
|
||||
SYST_CHG_DT, SYST_CHG_PRAF_NO, SYST_CHG_OGNZ_NO, SYST_CHG_SYST_CD, SYST_CHG_PRGR_ID)
|
||||
VALUES
|
||||
('KNWL_Q', '상품기초서류', '보험 상품 기초서류 약 8만건', 'PRODUCT', 'Y',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100'),
|
||||
('KNWL_W', '업무매뉴얼', '내부 업무 매뉴얼 및 프로세스 가이드', 'MANUAL', 'Y',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100'),
|
||||
('KNWL_E', '법률/규정', '보험업법 및 금융당국 규정', 'LEGAL', 'Y',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100',
|
||||
CURRENT_DATE, 'SYSTEM', 'SYSTEM', 'AXH', 'SOATM0100');
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user