chore(db): add product brand/alias and brand-level inventory schema
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
a79dd9f61d
commit
265a4ff4f7
2 files changed
+193
-1
No files matched your search
@@ -0,0 +1,89 @@
|
||||
-- backend/scripts/migrate_20260727_crm_product_brand_alias.sql
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `crm_product_brand` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`product_id` varchar(64) NOT NULL COMMENT '产品ID',
|
||||
`brand_name` varchar(100) NOT NULL COMMENT '品牌名称',
|
||||
`status` char(3) NOT NULL DEFAULT 'on' COMMENT '状态 on/off',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
|
||||
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_product_id` (`product_id`),
|
||||
KEY `idx_tenant` (`tenant_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-产品品牌';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `crm_product_alias` (
|
||||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||||
`product_id` varchar(64) NOT NULL COMMENT '产品ID',
|
||||
`alias_name` varchar(200) NOT NULL COMMENT '别名',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_product_id` (`product_id`),
|
||||
KEY `idx_tenant` (`tenant_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-产品别名';
|
||||
|
||||
ALTER TABLE `crm_quote_product`
|
||||
ADD COLUMN `brand_mode` varchar(20) DEFAULT NULL COMMENT 'required/any' AFTER `product_name`,
|
||||
ADD COLUMN `brand_id` varchar(64) DEFAULT NULL COMMENT '指定品牌ID' AFTER `brand_mode`,
|
||||
ADD COLUMN `brand_name` varchar(100) DEFAULT NULL COMMENT '品牌名快照' AFTER `brand_id`;
|
||||
|
||||
ALTER TABLE `crm_contract_product`
|
||||
ADD COLUMN `brand_mode` varchar(20) DEFAULT NULL COMMENT 'required/any' AFTER `product_name`,
|
||||
ADD COLUMN `brand_id` varchar(64) DEFAULT NULL COMMENT '指定品牌ID' AFTER `brand_mode`,
|
||||
ADD COLUMN `brand_name` varchar(100) DEFAULT NULL COMMENT '品牌名快照' AFTER `brand_id`;
|
||||
|
||||
ALTER TABLE `pl_plan_product`
|
||||
ADD COLUMN `brand_mode` varchar(20) DEFAULT NULL COMMENT 'required/any' AFTER `product_name`,
|
||||
ADD COLUMN `brand_id` varchar(64) DEFAULT NULL COMMENT '指定品牌ID' AFTER `brand_mode`,
|
||||
ADD COLUMN `brand_name` varchar(100) DEFAULT NULL COMMENT '品牌名快照' AFTER `brand_id`;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pl_plan_product_brand_qty` (
|
||||
`id` varchar(64) NOT NULL,
|
||||
`plan_id` varchar(64) NOT NULL,
|
||||
`plan_product_id` varchar(64) NOT NULL,
|
||||
`brand_id` varchar(64) NOT NULL DEFAULT '' COMMENT '空串=无品牌键',
|
||||
`brand_name` varchar(100) DEFAULT NULL,
|
||||
`qty` decimal(15,3) NOT NULL DEFAULT '0.000' COMMENT '本品牌归档实际数量',
|
||||
`tenant_no` varchar(64) NOT NULL DEFAULT 'shanxia2.0',
|
||||
`order_num` int(11) DEFAULT NULL,
|
||||
`remark` varchar(512) DEFAULT NULL,
|
||||
`create_by` varchar(64) DEFAULT NULL,
|
||||
`create_dept_id` varchar(64) NOT NULL DEFAULT '',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_by` varchar(64) DEFAULT NULL,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`del_flag` smallint(6) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_plan_product` (`plan_product_id`),
|
||||
KEY `idx_plan` (`plan_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计划产品归档品牌数量';
|
||||
|
||||
ALTER TABLE `pl_inventory`
|
||||
ADD COLUMN `brand_id` varchar(64) NOT NULL DEFAULT '' COMMENT '品牌ID,无品牌为空串' AFTER `product_id`,
|
||||
ADD COLUMN `brand_name` varchar(100) DEFAULT NULL COMMENT '品牌名称' AFTER `brand_id`;
|
||||
|
||||
ALTER TABLE `pl_inventory` DROP INDEX `uk_product_id`;
|
||||
ALTER TABLE `pl_inventory` ADD UNIQUE KEY `uk_product_brand` (`tenant_no`,`product_id`,`brand_id`,`del_flag`);
|
||||
|
||||
ALTER TABLE `pl_inventory_transaction`
|
||||
ADD COLUMN `brand_id` varchar(64) NOT NULL DEFAULT '' AFTER `product_id`,
|
||||
ADD COLUMN `brand_name` varchar(100) DEFAULT NULL AFTER `brand_id`;
|
||||
|
||||
ALTER TABLE `pl_inventory_warning`
|
||||
ADD COLUMN `brand_id` varchar(64) NOT NULL DEFAULT '' AFTER `product_id`,
|
||||
ADD COLUMN `brand_name` varchar(100) DEFAULT NULL AFTER `brand_id`;
|
||||
Reference in new issue
Block a user