Files
youzan-datahub/sql/phase3_ddl.sql

31 lines
1.8 KiB
MySQL
Raw Normal View History

-- Phase 3 DDL Migration Script
-- 在已有数据库上执行,补充 Phase 3 新增的字段和表
-- dim_inventory_snapshot 如果已在之前执行中创建,则此脚本中的 CREATE TABLE 会报 "already exists",可忽略
USE youzandatahub;
-- 1. dim_offline_store: 新增仓库编码和库存模式字段
ALTER TABLE dim_offline_store
ADD COLUMN warehouse_code VARCHAR(64) DEFAULT NULL COMMENT '仓库编码(库存API必需)',
ADD COLUMN stock_mode INT DEFAULT NULL COMMENT '库存模式:1独立,2共享总部,3共享门店仓,4进出存';
-- 2. dwd_trade_refund_detail: 新增退款诉求、阶段、买家ID、修改时间
ALTER TABLE dwd_trade_refund_detail
ADD COLUMN refund_demand INT DEFAULT NULL COMMENT '退款诉求:1仅退款,2退货退款,3换货',
ADD COLUMN refund_phase INT DEFAULT NULL COMMENT '退款阶段:1售中,2售后',
ADD COLUMN yz_open_id VARCHAR(64) DEFAULT NULL COMMENT '买家yz_open_id',
ADD COLUMN modified_time DATETIME DEFAULT NULL COMMENT '最后修改时间';
-- 3. 新建库存快照表 (如已存在则跳过)
CREATE TABLE IF NOT EXISTS `dim_inventory_snapshot` (
`id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`warehouse_code` VARCHAR(64) NOT NULL COMMENT '仓库编码',
`sku_code` VARCHAR(128) NOT NULL COMMENT 'SKU编码',
`stock_num` DECIMAL(12,2) DEFAULT 0 COMMENT '实物库存',
`freeze_num` DECIMAL(12,2) DEFAULT 0 COMMENT '实物占用',
`available_num` DECIMAL(12,2) DEFAULT 0 COMMENT '可用库存(stock_num-freeze_num)',
`snapshot_date` DATE NOT NULL COMMENT '快照日期',
`etl_update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '中台同步时间',
UNIQUE KEY `uk_snapshot` (`warehouse_code`, `sku_code`, `snapshot_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='每日库存快照表';