This commit is contained in:
2026-02-03 17:26:23 +08:00
532 changed files with 97923 additions and 20698 deletions

View File

@@ -0,0 +1,40 @@
-- =====================================================================================
-- 为没有SKU的商品生成默认SKU
-- 说明购物车逻辑依赖SKU ID如果商品没有SKU数据前端生成的模拟SKU ID会导致数据库外键约束错误
-- =====================================================================================
DO $$
DECLARE
v_product RECORD;
v_sku_id UUID;
v_count INT := 0;
BEGIN
-- 遍历所有没有SKU的商品
FOR v_product IN
SELECT p.id, p.product_code, p.base_price, p.total_stock
FROM public.ml_products p
LEFT JOIN public.ml_product_skus s ON p.id = s.product_id
WHERE s.id IS NULL
LOOP
-- 生成默认SKU
INSERT INTO public.ml_product_skus (
product_id,
sku_code,
specifications,
price,
stock,
status
) VALUES (
v_product.id,
v_product.product_code || '-DEF',
'{"默认": "标准规格"}',
v_product.base_price,
v_product.total_stock,
1
);
v_count := v_count + 1;
END LOOP;
RAISE NOTICE '已为 % 个商品生成默认SKU', v_count;
END $$;