diff --git a/backend-spring/src/main/resources/db/migration/V017__reorder_company_mgmt_admin_menus.sql b/backend-spring/src/main/resources/db/migration/V017__reorder_company_mgmt_admin_menus.sql new file mode 100644 index 00000000..2b6eb216 --- /dev/null +++ b/backend-spring/src/main/resources/db/migration/V017__reorder_company_mgmt_admin_menus.sql @@ -0,0 +1,35 @@ +-- V017: 회사 관리 그룹 하위 관리자 메뉴(MENU_TYPE='0', COMPANY_CODE='*') 순서 재배열 +-- +-- 변경 후 순서: +-- 1) 회사관리 (조직 계층: 회사) +-- 2) 부서관리 (조직 계층: 부서) +-- 3) 사용자관리 (조직 계층: 사용자) +-- 4) 메뉴관리 (권한 체계: 메뉴) +-- 5) 권한관리 (권한 체계: 권한) +-- 6) 권한 그룹관리 (권한 체계: 권한 그룹) +-- +-- 사유: 기존 순서(회사 → 사용자 → 메뉴 → 권한 → 권한그룹 → 부서)는 부서가 맨 끝으로 +-- 빠져 조직 계층이 끊기고, 권한 그룹이 권한관리 뒤에 오는 등 그룹 일관성이 없었다. +-- 조직(회사→부서→사용자) + 권한(메뉴→권한→권한그룹) 두 묶음으로 정렬한다. +-- +-- 멱등성: SEQ 만 갱신하므로 중복 실행 안전. MENU_NAME_KOR + MENU_TYPE + COMPANY_CODE +-- 로 식별하여 다른 회사/사용자 메뉴는 영향 없음. + +UPDATE MENU_INFO + SET SEQ = CASE MENU_NAME_KOR + WHEN '회사관리' THEN 100 + WHEN '부서관리' THEN 200 + WHEN '사용자관리' THEN 300 + WHEN '메뉴관리' THEN 400 + WHEN '권한관리' THEN 500 + WHEN '권한 그룹관리' THEN 600 + ELSE SEQ + END + WHERE MENU_TYPE = '0' + AND COMPANY_CODE = '*' + AND PARENT_OBJ_ID IS NOT NULL + AND PARENT_OBJ_ID <> '0' + AND MENU_NAME_KOR IN ( + '회사관리', '부서관리', '사용자관리', + '메뉴관리', '권한관리', '권한 그룹관리' + );