-- 商品属性模版（店铺维度）
CREATE TABLE IF NOT EXISTS `biz_goods_attr_template` (
  `template_id`   bigint(20)   NOT NULL AUTO_INCREMENT COMMENT '模版ID',
  `shop_id`       bigint(20)   NOT NULL COMMENT '店铺ID',
  `template_name` varchar(64)  NOT NULL COMMENT '属性模版名称',
  `del_flag`      char(1)      NOT NULL DEFAULT '0' COMMENT '0存在2删除',
  `create_by`     varchar(64)  DEFAULT '',
  `create_time`   datetime     DEFAULT NULL,
  `update_by`     varchar(64)  DEFAULT '',
  `update_time`   datetime     DEFAULT NULL,
  PRIMARY KEY (`template_id`),
  KEY `idx_shop_del` (`shop_id`,`del_flag`,`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品属性模版';

CREATE TABLE IF NOT EXISTS `biz_goods_attr_template_item` (
  `item_id`     bigint(20)  NOT NULL AUTO_INCREMENT,
  `template_id` bigint(20)  NOT NULL COMMENT '模版ID',
  `item_type`   char(1)     NOT NULL COMMENT '1属性项2规格项',
  `item_name`   varchar(64) NOT NULL COMMENT '项名称',
  `sort_no`     int(11)     NOT NULL DEFAULT '0',
  PRIMARY KEY (`item_id`),
  KEY `idx_template_type` (`template_id`,`item_type`,`sort_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='属性模版项';

CREATE TABLE IF NOT EXISTS `biz_goods_attr_template_value` (
  `value_id`   bigint(20)   NOT NULL AUTO_INCREMENT,
  `item_id`    bigint(20)   NOT NULL COMMENT '模版项ID',
  `value_text` varchar(128) NOT NULL COMMENT '属性值/规格值',
  `sort_no`    int(11)      NOT NULL DEFAULT '0',
  PRIMARY KEY (`value_id`),
  KEY `idx_item_sort` (`item_id`,`sort_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='属性模版值';

-- 商品引用属性模版（删模版校验；列已存在时跳过本段）
ALTER TABLE `biz_goods`
  ADD COLUMN `attr_template_id` bigint(20) DEFAULT NULL COMMENT '属性模版ID' AFTER `shop_category_id`,
  ADD KEY `idx_attr_template_id` (`attr_template_id`,`del_flag`);
