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-%' + );