From 4306fa6f4bb57af97329761ece9f07691fe6dc0c Mon Sep 17 00:00:00 2001 From: Johngreen Date: Tue, 28 Apr 2026 05:44:38 +0900 Subject: [PATCH] =?UTF-8?q?AI=20=EB=A9=94=EB=89=B4=20=EC=8A=88=ED=8D=BC?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EA=B6=8C=ED=95=9C=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EB=A7=A4=ED=95=91=20(V015)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 1 + .../V015__assign_ai_menus_to_super_admin.sql | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 backend-spring/src/main/resources/db/migration/V015__assign_ai_menus_to_super_admin.sql diff --git a/.gitignore b/.gitignore index f42ff16d..206c183e 100644 --- a/.gitignore +++ b/.gitignore @@ -123,6 +123,7 @@ tokens.json # 데이터베이스 덤프 *.sql +!**/db/migration/*.sql *.dump db/dump/ db/backup/ diff --git a/backend-spring/src/main/resources/db/migration/V015__assign_ai_menus_to_super_admin.sql b/backend-spring/src/main/resources/db/migration/V015__assign_ai_menus_to_super_admin.sql new file mode 100644 index 00000000..84355b5a --- /dev/null +++ b/backend-spring/src/main/resources/db/migration/V015__assign_ai_menus_to_super_admin.sql @@ -0,0 +1,41 @@ +-- V015: AI 메뉴 슈퍼관리자 권한 그룹 자동 매핑 +-- AUTHORITY_MASTER 에서 COMPANY_CODE='*' & AUTH_CODE='SUPER_ADMIN' 인 권한 그룹을 찾아 +-- V014 에서 등록된 AI 메뉴 8개(루트 + 하위 7개)를 AUTHORITY_SUB_MENU 에 삽입합니다. +-- 멱등성: ON CONFLICT (MASTER_OBJID, MENU_OBJID) DO NOTHING + +INSERT INTO AUTHORITY_SUB_MENU ( + OBJID + , MASTER_OBJID + , MENU_OBJID + , CREATE_YN + , READ_YN + , UPDATE_YN + , DELETE_YN + , WRITER + , CREATED_DATE +) +SELECT + AM.OBJID || '_' || MI.OBJID + , AM.OBJID + , MI.OBJID + , 'Y' + , 'Y' + , 'Y' + , 'Y' + , 'system' + , NOW() +FROM AUTHORITY_MASTER AM +CROSS JOIN MENU_INFO MI +WHERE AM.AUTH_CODE = 'SUPER_ADMIN' + AND AM.COMPANY_CODE = '*' + AND MI.OBJID IN ( + 'AI_ASSISTANT_ROOT' + , 'AI_MENU_ASSISTANT' + , 'AI_MENU_AGENTS' + , 'AI_MENU_PROVIDERS' + , 'AI_MENU_WORKSPACE' + , 'AI_MENU_CONVERSATIONS' + , 'AI_MENU_API_KEYS' + , 'AI_MENU_KNOWLEDGE' + ) +ON CONFLICT (MASTER_OBJID, MENU_OBJID) DO NOTHING;