sql数据流,amdin业务逻辑接入
This commit is contained in:
37
docs/sql/10_schema/product/ak_shipping_templates_v1.sql
Normal file
37
docs/sql/10_schema/product/ak_shipping_templates_v1.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
-- =====================================================================================
|
||||
-- Schema: 运费模板表
|
||||
-- 位置:docs/sql/10_schema/product/ak_shipping_templates_v1.sql
|
||||
-- 说明:管理商家的运费计算规则,按商家隔离。
|
||||
-- =====================================================================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.ak_shipping_templates (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
merchant_id UUID NOT NULL REFERENCES public.ak_users(id) ON DELETE CASCADE,
|
||||
|
||||
name TEXT NOT NULL, -- 模板名称
|
||||
calc_method TEXT DEFAULT 'piece', -- 计费方式: piece(件数), weight(重量), volume(体积)
|
||||
is_free_shipping BOOLEAN DEFAULT false, -- 是否包邮
|
||||
|
||||
sort_order INTEGER DEFAULT 0,
|
||||
created_at TIMESTAMPTZ DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ DEFAULT now()
|
||||
);
|
||||
|
||||
-- 启用 RLS
|
||||
ALTER TABLE public.ak_shipping_templates ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 权限策略:商家管理自己的模板
|
||||
CREATE POLICY "Merchants manage own shipping templates"
|
||||
ON public.ak_shipping_templates FOR ALL
|
||||
TO authenticated
|
||||
USING (merchant_id = auth.uid())
|
||||
WITH CHECK (merchant_id = auth.uid());
|
||||
|
||||
-- 允许查看
|
||||
CREATE POLICY "Authenticated users view shipping templates"
|
||||
ON public.ak_shipping_templates FOR SELECT
|
||||
TO authenticated
|
||||
USING (true);
|
||||
|
||||
-- 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_shipping_templates_merchant ON public.ak_shipping_templates(merchant_id);
|
||||
39
docs/sql/10_schema/product/ml_products_ext_v1.sql
Normal file
39
docs/sql/10_schema/product/ml_products_ext_v1.sql
Normal file
@@ -0,0 +1,39 @@
|
||||
-- =====================================================================================
|
||||
-- Schema Update: ml_products 扩展字段 (物流、营销、高级设置)
|
||||
-- 位置:docs/sql/10_schema/product/ml_products_ext_v1.sql
|
||||
-- 说明:补齐商品编辑页 Step 3-6 所需的持久化字段。
|
||||
-- =====================================================================================
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
-- 1. 物流设置:关联运费模板
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'ml_products' AND column_name = 'shipping_template_id') THEN
|
||||
ALTER TABLE public.ml_products ADD COLUMN shipping_template_id UUID REFERENCES public.ak_shipping_templates(id) ON DELETE SET NULL;
|
||||
COMMENT ON COLUMN public.ml_products.shipping_template_id IS '关联运费模板ID';
|
||||
END IF;
|
||||
|
||||
-- 2. 营销设置:赠送积分
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'ml_products' AND column_name = 'give_integral') THEN
|
||||
ALTER TABLE public.ml_products ADD COLUMN give_integral INTEGER DEFAULT 0;
|
||||
COMMENT ON COLUMN public.ml_products.give_integral IS '购买赠送积分';
|
||||
END IF;
|
||||
|
||||
-- 3. 高级设置:警戒库存
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'ml_products' AND column_name = 'stock_warning') THEN
|
||||
ALTER TABLE public.ml_products ADD COLUMN stock_warning INTEGER DEFAULT 10;
|
||||
COMMENT ON COLUMN public.ml_products.stock_warning IS '库存报警数值';
|
||||
END IF;
|
||||
|
||||
-- 4. 高级设置:虚拟销量
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'ml_products' AND column_name = 'virtual_sales') THEN
|
||||
ALTER TABLE public.ml_products ADD COLUMN virtual_sales INTEGER DEFAULT 0;
|
||||
COMMENT ON COLUMN public.ml_products.virtual_sales IS '虚拟销量(展示用)';
|
||||
END IF;
|
||||
|
||||
-- 5. 高级设置:排序
|
||||
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'ml_products' AND column_name = 'sort_order') THEN
|
||||
ALTER TABLE public.ml_products ADD COLUMN sort_order INTEGER DEFAULT 0;
|
||||
COMMENT ON COLUMN public.ml_products.sort_order IS '商品排序权重';
|
||||
END IF;
|
||||
|
||||
END $$;
|
||||
Reference in New Issue
Block a user