사이트·관리자 봉투 물류 기능(수불·통계·레포트·재고·발주)과 DB·메뉴·E2E를 운영 반영한다.
통계 분석(전년대비·월별·계절별), 수급계획·LOT 수불, 지정판매소·실사·메뉴 링크 등을 포함한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
66
writable/database/manager_remote_realistic_update.sql
Normal file
66
writable/database/manager_remote_realistic_update.sql
Normal file
@@ -0,0 +1,66 @@
|
||||
-- =============================================================================
|
||||
-- 담당자(manager) 원격/운영 DB 보정 스크립트
|
||||
-- =============================================================================
|
||||
-- 목적
|
||||
-- - 앱에서 사용하는 담당자 구분값(mg_dept_code): company | district | agency
|
||||
-- - 테스트용처럼 보이지 않도록 성명·전화·이메일·직위코드를 현실적인 형태로 정리
|
||||
--
|
||||
-- 실행 전
|
||||
-- 1) 반드시 백업(또는 스테이징 DB에서 먼저 검증)
|
||||
-- 2) 아래 @LG_IDX 를 운영 지자체 PK로 맞추거나, 전체 지자체에 적용하려면 NULL 로 둠
|
||||
--
|
||||
-- 사용 예 (MySQL 클라이언트)
|
||||
-- mysql -h HOST -u USER -p DBNAME < writable/database/manager_remote_realistic_update.sql
|
||||
--
|
||||
-- 주의
|
||||
-- - 이 스크립트는 **기존 manager 행을 UPDATE** 합니다(INSERT 아님).
|
||||
-- - mg_position_code 는 기존 시드에서 쓰던 직위 코드(1,2,3,5,6)를 순환 배정합니다.
|
||||
-- 운영 DB에 해당 code_detail(T) 코드가 없다면 직위 셀렉트가 비어 보일 수 있으니, 그 경우 직위 UPDATE 블록만 주석 처리하세요.
|
||||
-- =============================================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- 적용 대상 지자체: 예) 대구 시범 lg_idx=1 이면 1 / 전체 적용이면 NULL
|
||||
SET @LG_IDX := NULL;
|
||||
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- 1) 카테고리(담당자 구분) 부여: mg_idx 기준으로 3종 순환
|
||||
-- ---------------------------------------------------------------------------
|
||||
UPDATE `manager` m
|
||||
SET m.`mg_dept_code` = ELT(MOD(m.`mg_idx`, 3) + 1, 'company', 'district', 'agency')
|
||||
WHERE m.`mg_state` = 1
|
||||
AND (@LG_IDX IS NULL OR m.`mg_lg_idx` = @LG_IDX);
|
||||
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- 2) 성명/전화/이메일/직위: mg_idx 기반으로 일관되게 생성(완전 난수 아님)
|
||||
-- ---------------------------------------------------------------------------
|
||||
UPDATE `manager` m
|
||||
SET
|
||||
m.`mg_name` = ELT(
|
||||
MOD(m.`mg_idx`, 18) + 1,
|
||||
'김민환', '이서연', '박지훈', '최유진', '정다운', '한채원',
|
||||
'오승우', '윤가람', '강도현', '임하늘', '조은별', '배시현',
|
||||
'문태영', '신재원', '홍수진', '권도영', '안예린', '유재혁'
|
||||
),
|
||||
m.`mg_tel` = CONCAT(
|
||||
'053-661-',
|
||||
LPAD(300 + MOD(m.`mg_idx`, 700), 4, '0')
|
||||
),
|
||||
m.`mg_phone` = CONCAT(
|
||||
'010-',
|
||||
LPAD(2000 + MOD(m.`mg_idx` * 7, 7999), 4, '0'),
|
||||
'-',
|
||||
LPAD(3000 + MOD(m.`mg_idx` * 11, 7999), 4, '0')
|
||||
),
|
||||
m.`mg_email` = CONCAT('waste.mgr.', m.`mg_idx`, '@daegu.go.kr'),
|
||||
m.`mg_position_code` = ELT(MOD(m.`mg_idx`, 5) + 1, '1', '2', '3', '5', '6')
|
||||
WHERE m.`mg_state` = 1
|
||||
AND (@LG_IDX IS NULL OR m.`mg_lg_idx` = @LG_IDX);
|
||||
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- 3) 확인용 SELECT (실행 후 결과 점검)
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- SELECT mg_idx, mg_lg_idx, mg_dept_code, mg_name, mg_position_code, mg_tel, mg_phone, mg_email
|
||||
-- FROM manager
|
||||
-- WHERE mg_state = 1 AND (@LG_IDX IS NULL OR mg_lg_idx = @LG_IDX)
|
||||
-- ORDER BY mg_lg_idx, mg_idx;
|
||||
Reference in New Issue
Block a user