354eebeaac
운영 DB 일괄 변경 스크립트(cupang_box_rules_unify_box_name.sql) 추가. 기존 호수(2호/3호/6호)는 사라지지 않게 memo 뒤로 옮긴다 (예: "피킹비 750원 · 2호"). 시드 SQL 2개도 같은 규칙으로 맞춰, 재실행해도 호수 박스명이 되살아나지 않게 했다. 주의: 박스명은 박스 계산의 "자투리 혼합" 그룹 기준이라, 통일 후에는 2호/3호/6호 자투리가 한 박스에 섞여 계산된다(사용자 확인됨). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
44 lines
1.8 KiB
PL/PgSQL
44 lines
1.8 KiB
PL/PgSQL
-- ════════════════════════════════════════════════════════════
|
|
-- 쿠팡 밀크런 — 박스 입수량 규칙의 박스명을 '쿠팡박스' 로 통일 (cupang_db)
|
|
--
|
|
-- 실행 전 반드시 백업:
|
|
-- docker exec postgres-db pg_dump -U postgres -d cupang_db -t cupang_box_rules \
|
|
-- > ~/backup/cupang_box_rules_$(date +%F_%H%M).sql
|
|
--
|
|
-- 실행:
|
|
-- docker exec -i postgres-db psql -U postgres -d cupang_db \
|
|
-- < /opt/www/main/scripts/sql/cupang_box_rules_unify_box_name.sql
|
|
--
|
|
-- 주의: 박스명은 "자투리 혼합 박스" 계산에서 같은 박스끼리만 섞는 기준이다.
|
|
-- 통일 후에는 2호/3호/6호 자투리가 한 박스에 섞여 계산된다.
|
|
-- 기존 호수(2호/3호/6호)는 없어지지 않게 memo 뒤에 옮겨 적는다.
|
|
-- ════════════════════════════════════════════════════════════
|
|
BEGIN;
|
|
|
|
-- 변경 전 상태
|
|
SELECT box_name AS "변경전_박스명", count(*) AS "건수"
|
|
FROM cupang_box_rules
|
|
GROUP BY box_name
|
|
ORDER BY box_name;
|
|
|
|
UPDATE cupang_box_rules
|
|
SET memo = btrim(
|
|
coalesce(memo, '')
|
|
|| CASE WHEN coalesce(memo, '') = '' THEN '' ELSE ' · ' END
|
|
|| regexp_replace(box_name, '^쿠팡\s*', '')
|
|
),
|
|
box_name = '쿠팡박스'
|
|
WHERE box_name IS DISTINCT FROM '쿠팡박스';
|
|
|
|
COMMIT;
|
|
|
|
-- 변경 후 확인 (박스명이 '쿠팡박스' 한 줄이어야 정상)
|
|
SELECT box_name AS "변경후_박스명", count(*) AS "건수"
|
|
FROM cupang_box_rules
|
|
GROUP BY box_name
|
|
ORDER BY box_name;
|
|
|
|
SELECT product_code, product_name_snapshot, box_name, units_per_box, memo
|
|
FROM cupang_box_rules
|
|
ORDER BY product_code;
|