feat(finance): 内部 SKU 平台字段映射基础
- 新增 internal_sku_mappings,支持 provider/shop 级和全局映射 - 新增解析与 upsert 服务,priority/精确范围优先 - 新增纯数字内部 SKU 的中文映射回填脚本(默认 dry-run)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
-- 117_internal_sku_mappings.sql
|
||||
--
|
||||
-- 平台字段 → 内部中文 SKU 的补全映射。
|
||||
-- manual_sku_key 生成列优先取 skuNick/outSkuSn/sku_code/sku_name;
|
||||
-- 当平台只给纯数字码、没有中文 skuNick/outSkuSn 时,用本表补成内部中文 SKU。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS internal_sku_mappings (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
provider TEXT NOT NULL DEFAULT '',
|
||||
shop_id TEXT NOT NULL DEFAULT '',
|
||||
match_type TEXT NOT NULL CHECK (match_type IN ('sku_code', 'sku_nick', 'out_sku_sn', 'spec', 'sku_name')),
|
||||
match_value TEXT NOT NULL,
|
||||
internal_sku TEXT NOT NULL,
|
||||
priority INTEGER NOT NULL DEFAULT 100,
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
source TEXT NOT NULL DEFAULT 'manual',
|
||||
note TEXT NOT NULL DEFAULT '',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS uq_internal_sku_mappings_key
|
||||
ON internal_sku_mappings (provider, shop_id, match_type, match_value);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_internal_sku_mappings_internal
|
||||
ON internal_sku_mappings (internal_sku)
|
||||
WHERE enabled = TRUE;
|
||||
|
||||
COMMENT ON TABLE internal_sku_mappings IS
|
||||
'平台字段 → 内部中文 SKU 映射;provider/shop_id 为空表示全局,priority 越小越优先';
|
||||
Reference in New Issue
Block a user