-- ------------------------------------------------------------ -- 导入价表 Excel 附件记录(建表/字段) -- 用途:产品价/红线价/销售价 Excel 导入时落库文件元数据 -- 关联:product.pef_id、prc_price_set_product.pef_id -> prc_price_excel_file.pef_id -- ------------------------------------------------------------ -- 1) 主表:导入价表 Excel 附件 CREATE TABLE IF NOT EXISTS prc_price_excel_file ( pef_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', excel_type varchar(20) NOT NULL COMMENT '价表类型 PRODUCT=产品价 REDLINE=红线价 SALES=销售价', effective_time datetime NOT NULL COMMENT '生效时间(导入时选择/解析)', file_name varchar(255) NOT NULL COMMENT '文件原始名称', file_path varchar(500) NOT NULL COMMENT '文件存储路径(相对路径或完整URL)', file_size bigint(20) DEFAULT 0 COMMENT '文件大小(字节)', content_type varchar(100) DEFAULT '' COMMENT 'MIME类型', file_extension varchar(20) DEFAULT '' COMMENT '扩展名,如 xlsx/xls', oss_id varchar(64) DEFAULT NULL COMMENT 'OSS/对象存储ID(可空)', sheet_names varchar(1000) DEFAULT NULL COMMENT '导入涉及的 sheet 名(多个逗号分隔,可空)', remark varchar(500) DEFAULT NULL COMMENT '备注', created_by varchar(64) DEFAULT '' COMMENT '创建人', create_time datetime DEFAULT NULL COMMENT '创建时间', updated_by varchar(64) DEFAULT '' COMMENT '更新人', update_time datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (pef_id), KEY idx_pef_type_eff (excel_type, effective_time), KEY idx_pef_create_time (create_time) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='导入价表Excel附件'; -- 2) 产品主表:关联导入附件 ALTER TABLE product ADD COLUMN pef_id bigint(20) DEFAULT NULL COMMENT '关联导入价表Excel附件 prc_price_excel_file.pef_id' AFTER source_sheet, ADD KEY idx_product_pef_id (pef_id); -- 3) 套餐产品表:关联导入附件(销售价 Excel 建价) ALTER TABLE prc_price_set_product ADD COLUMN pef_id bigint(20) DEFAULT NULL COMMENT '关联导入价表Excel附件 prc_price_excel_file.pef_id' AFTER source_sheet, ADD KEY idx_psp_pef_id (pef_id);