chore(cupang): 박스 입수량 박스명을 '쿠팡박스' 로 통일

운영 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>
This commit is contained in:
2026-08-29 02:22:52 +09:00
parent 07f71d1df0
commit 354eebeaac
4 changed files with 145 additions and 38 deletions
+25 -24
View File
@@ -15,41 +15,42 @@
-- ════════════════════════════════════════════════════════════
BEGIN;
-- box_no: 원자료의 박스 호수. 박스명은 '쿠팡박스' 로 통일하고 호수는 memo 에 남긴다.
CREATE TEMP TABLE _seed2 (
product_name TEXT,
picking_fee INTEGER,
units_per_box INTEGER,
box_name TEXT
box_no TEXT
) ON COMMIT DROP;
INSERT INTO _seed2 (product_name, picking_fee, units_per_box, box_name) VALUES
('미라클통 550x4', 700, 40, '쿠팡 2호'),
('미라클통 550x6', 700, 30, '쿠팡 2호'),
('미라클통 750x5', 700, 30, '쿠팡 2호'),
('미라클통 950x4', 700, 24, '쿠팡 2호'),
('미라클통 950x6', 700, 18, '쿠팡 2호'),
('미라클통 1800x4', 700, 16, '쿠팡 2호'),
('미라클통 1800x6', 700, 14, '쿠팡 2호'),
('미라클통 2200x4', 700, 14, '쿠팡 2호'),
('미라클통 2200x6', 700, 10, '쿠팡 2호'),
('미라클통 3200x4', 700, 10, '쿠팡 2호'),
('빠져락 x1', 500, 35, '쿠팡 2호'),
('빠져락 x3', 580, 8, '쿠팡 2호'),
('빠져락 x5', 780, 8, '쿠팡 2호'),
('미라클백 2.5L', 500, 30, '쿠팡 5호'),
('미라클백 6.0L', 500, 23, '쿠팡 6호'),
('멀티 5,000ml x2', 700, 8, '쿠팡 2호'),
('멀티 5,000ml x4', 680, 2, '쿠팡 3호'),
('점보 7,000ml x2', 700, 6, '쿠팡 2호'),
('점보 황토 7,000ml x2', 700, 6, '쿠팡 2호');
INSERT INTO _seed2 (product_name, picking_fee, units_per_box, box_no) VALUES
('미라클통 550x4', 700, 40, '2호'),
('미라클통 550x6', 700, 30, '2호'),
('미라클통 750x5', 700, 30, '2호'),
('미라클통 950x4', 700, 24, '2호'),
('미라클통 950x6', 700, 18, '2호'),
('미라클통 1800x4', 700, 16, '2호'),
('미라클통 1800x6', 700, 14, '2호'),
('미라클통 2200x4', 700, 14, '2호'),
('미라클통 2200x6', 700, 10, '2호'),
('미라클통 3200x4', 700, 10, '2호'),
('빠져락 x1', 500, 35, '2호'),
('빠져락 x3', 580, 8, '2호'),
('빠져락 x5', 780, 8, '2호'),
('미라클백 2.5L', 500, 30, '5호'),
('미라클백 6.0L', 500, 23, '6호'),
('멀티 5,000ml x2', 700, 8, '2호'),
('멀티 5,000ml x4', 680, 2, '3호'),
('점보 7,000ml x2', 700, 6, '2호'),
('점보 황토 7,000ml x2', 700, 6, '2호');
INSERT INTO cupang_box_rules
(product_code, product_name_snapshot, box_name, units_per_box, memo, active)
SELECT p.product_code,
p.product_name,
s.box_name,
'쿠팡박스',
s.units_per_box,
'피킹비 ' || s.picking_fee || '',
'피킹비 ' || s.picking_fee || ' · ' || s.box_no,
TRUE
FROM _seed2 s
JOIN cupang_products p
@@ -65,7 +66,7 @@ SET product_name_snapshot = EXCLUDED.product_name_snapshot,
-- 카탈로그에 없어 입력되지 않은 제품 (수기 추가 후 재실행 대상)
SELECT s.product_name AS "카탈로그_미등록_제품명",
s.units_per_box AS "입수량",
s.box_name AS "박스이름"
s.box_no AS "박스호수"
FROM _seed2 s
WHERE NOT EXISTS (
SELECT 1 FROM cupang_products p