From 5c43cb801c966d5f242bfb951c038875f1ca5c80 Mon Sep 17 00:00:00 2001 From: king Date: Wed, 17 Jun 2026 15:07:22 +0900 Subject: [PATCH] =?UTF-8?q?fix(malaysia):=20=EB=9E=99=20sku=5Fcode=20CHECK?= =?UTF-8?q?=20=EC=A0=9C=EC=95=BD=EC=97=90=20=EB=9A=9C=EA=BB=91(MD-)=20?= =?UTF-8?q?=ED=97=88=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 뚜껑 저장 시 daily_stocktake_rack.sku_code CHECK 제약(MT/MX/MZ/MY만) 위반으로 Internal Server Error 발생. init SQL 의 CHECK 에 'MD-%' 추가, 운영 DB용 멱등 마이그레이션(malaysia_stock_db_rack_allow_lid.sql) 제공. Co-Authored-By: Claude Opus 4.8 --- scripts/sql/malaysia_stock_db_init.sql | 3 ++- .../sql/malaysia_stock_db_rack_allow_lid.sql | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 scripts/sql/malaysia_stock_db_rack_allow_lid.sql diff --git a/scripts/sql/malaysia_stock_db_init.sql b/scripts/sql/malaysia_stock_db_init.sql index a5c58d8..7647896 100644 --- a/scripts/sql/malaysia_stock_db_init.sql +++ b/scripts/sql/malaysia_stock_db_init.sql @@ -262,7 +262,8 @@ CREATE TABLE IF NOT EXISTS daily_stocktake_rack ( sku_code LIKE 'MT-%' OR sku_code LIKE 'MX-%' OR sku_code LIKE 'MZ-%' - OR sku_code LIKE 'MY-%'), + OR sku_code LIKE 'MY-%' + OR sku_code LIKE 'MD-%'), -- 뚜껑: 위치확인용(재고 집계 제외) units_per_box INTEGER NOT NULL CHECK (units_per_box > 0), box_count INTEGER NOT NULL CHECK (box_count > 0), created_at TIMESTAMPTZ NOT NULL DEFAULT now() diff --git a/scripts/sql/malaysia_stock_db_rack_allow_lid.sql b/scripts/sql/malaysia_stock_db_rack_allow_lid.sql new file mode 100644 index 0000000..7819289 --- /dev/null +++ b/scripts/sql/malaysia_stock_db_rack_allow_lid.sql @@ -0,0 +1,19 @@ +-- ════════════════════════════════════════════════════════════ +-- 마이그레이션: 랙 입력에 뚜껑(MD-) 허용 +-- daily_stocktake_rack.sku_code CHECK 제약에 'MD-%' 를 추가한다. +-- 뚜껑은 위치 확인용으로만 랙에 두며, 재고 집계(daily_stocktake_line) +-- 에는 반영되지 않는다(애플리케이션 aggregate_rack 에서 제외). +-- 기존 운영 malaysia_stock_db 에 적용(신규 설치는 init 에 이미 포함). +-- superuser/owner 로 실행. 멱등. +-- ════════════════════════════════════════════════════════════ +ALTER TABLE daily_stocktake_rack + DROP CONSTRAINT IF EXISTS daily_stocktake_rack_sku_code_check; + +ALTER TABLE daily_stocktake_rack + ADD CONSTRAINT daily_stocktake_rack_sku_code_check CHECK ( + sku_code LIKE 'MT-%' + OR sku_code LIKE 'MX-%' + OR sku_code LIKE 'MZ-%' + OR sku_code LIKE 'MY-%' + OR sku_code LIKE 'MD-%' + );