사용자 명시 요청 — supplier snapshot 이전의 옛 발주 데이터를 통째로
비우고 신규 발주만 운용. 사용자가 새로 등록하기로 함.
⚠️ migrate-momo.mjs 가 매 deploy 시 모든 .sql 을 재실행하므로 raw DELETE
를 그대로 박으면 신규 발주가 다음 deploy 때 또 지워지는 사고가 남.
→ sentinel 테이블 momo_migration_marks 도입, 1회만 실행되도록 가드.
삭제 범위:
- momo_einvoice_items (발주연결분)
- momo_einvoices WHERE order_objid IS NOT NULL
- momo_stock_moves WHERE ref_type='ORDER'
- momo_order_items 전체
- momo_orders 전체
보존: momo_stocks.qty — 사용자가 inventory 메뉴에서 직접 보정.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
-- 옛 발주 전체 삭제 (사용자 명시 요청 2026-05-13)
|
||||
-- ⚠️ migrate-momo.mjs 는 매 deploy 시 모든 .sql 을 재실행 → DELETE 가 매번 실행되면
|
||||
-- 신규 발주가 다음 deploy 때 또 지워지는 사고가 남.
|
||||
-- → sentinel 테이블 momo_migration_marks 로 1회만 실행 보장.
|
||||
--
|
||||
-- 삭제 범위:
|
||||
-- 1) momo_einvoice_items (발주연결 세금계산서의 라인)
|
||||
-- 2) momo_einvoices (order_objid IS NOT NULL — 발주 연결분만)
|
||||
-- 3) momo_stock_moves (ref_type='ORDER' — 출고 차감 이력)
|
||||
-- 4) momo_order_items (발주 라인)
|
||||
-- 5) momo_orders (발주 본체)
|
||||
--
|
||||
-- 보존: momo_stocks.qty (현재고는 그대로 — 사용자가 inventory 메뉴에서 직접 보정).
|
||||
|
||||
CREATE TABLE IF NOT EXISTS momo_migration_marks (
|
||||
mark VARCHAR(100) PRIMARY KEY,
|
||||
regdate TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM momo_migration_marks WHERE mark = '031_orders_wipe_legacy') THEN
|
||||
|
||||
DELETE FROM momo_einvoice_items
|
||||
WHERE einvoice_objid IN (
|
||||
SELECT objid FROM momo_einvoices WHERE order_objid IS NOT NULL
|
||||
);
|
||||
DELETE FROM momo_einvoices WHERE order_objid IS NOT NULL;
|
||||
DELETE FROM momo_stock_moves WHERE ref_type = 'ORDER';
|
||||
DELETE FROM momo_order_items;
|
||||
DELETE FROM momo_orders;
|
||||
|
||||
INSERT INTO momo_migration_marks(mark) VALUES ('031_orders_wipe_legacy');
|
||||
|
||||
RAISE NOTICE '[031] 옛 발주 전체 삭제 완료';
|
||||
END IF;
|
||||
END $$;
|
||||
Reference in New Issue
Block a user