完成店铺增删改查
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE IF NOT EXISTS biz_shop_manage (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
|
||||
group_name VARCHAR(128) NOT NULL COMMENT '分组',
|
||||
shop_name VARCHAR(128) NOT NULL COMMENT '店铺名',
|
||||
account VARCHAR(128) NOT NULL COMMENT '账号',
|
||||
password VARCHAR(255) NOT NULL COMMENT '密码',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
KEY idx_group_name (group_name),
|
||||
KEY idx_shop_name (shop_name),
|
||||
KEY idx_created_at (created_at)
|
||||
) COMMENT='店铺管理表';
|
||||
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE IF NOT EXISTS biz_shop_manage_group (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
|
||||
group_name VARCHAR(128) NOT NULL COMMENT '分组名称',
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
UNIQUE KEY uk_group_name (group_name),
|
||||
KEY idx_created_at (created_at)
|
||||
) COMMENT='店铺管理分组表';
|
||||
|
||||
ALTER TABLE biz_shop_manage
|
||||
ADD COLUMN IF NOT EXISTS group_id BIGINT NULL COMMENT '分组ID' AFTER id;
|
||||
|
||||
ALTER TABLE biz_shop_manage
|
||||
ADD KEY IF NOT EXISTS idx_group_id (group_id);
|
||||
@@ -0,0 +1,35 @@
|
||||
-- 兼容旧库:确保 biz_shop_manage 存在 group_id 字段与索引
|
||||
|
||||
SET @db_name = DATABASE();
|
||||
|
||||
-- 1) 新增 group_id 字段(仅当不存在时)
|
||||
SET @col_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = @db_name
|
||||
AND TABLE_NAME = 'biz_shop_manage'
|
||||
AND COLUMN_NAME = 'group_id'
|
||||
);
|
||||
SET @sql_add_col := IF(@col_exists = 0,
|
||||
'ALTER TABLE biz_shop_manage ADD COLUMN group_id BIGINT NULL COMMENT ''分组ID'' AFTER id',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @sql_add_col;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- 2) 新增 group_id 索引(仅当不存在时)
|
||||
SET @idx_exists := (
|
||||
SELECT COUNT(*)
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = @db_name
|
||||
AND TABLE_NAME = 'biz_shop_manage'
|
||||
AND INDEX_NAME = 'idx_group_id'
|
||||
);
|
||||
SET @sql_add_idx := IF(@idx_exists = 0,
|
||||
'ALTER TABLE biz_shop_manage ADD KEY idx_group_id (group_id)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt2 FROM @sql_add_idx;
|
||||
EXECUTE stmt2;
|
||||
DEALLOCATE PREPARE stmt2;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- 兼容旧库:biz_shop_manage 早期存在 group_name 非空字段,新代码改为 group_id 后插入会报错。
|
||||
-- 这里确保 group_name 可为空,避免旧字段约束阻断写入。
|
||||
|
||||
ALTER TABLE biz_shop_manage
|
||||
MODIFY COLUMN group_name VARCHAR(128) NULL COMMENT '旧字段(兼容保留)';
|
||||
@@ -0,0 +1,16 @@
|
||||
-- 将旧表 biz_shop_manage 的 group_name 数据回填到新分组表与 group_id 字段
|
||||
|
||||
INSERT INTO biz_shop_manage_group (group_name)
|
||||
SELECT DISTINCT sm.group_name
|
||||
FROM biz_shop_manage sm
|
||||
LEFT JOIN biz_shop_manage_group g ON g.group_name = sm.group_name
|
||||
WHERE sm.group_name IS NOT NULL
|
||||
AND TRIM(sm.group_name) <> ''
|
||||
AND g.id IS NULL;
|
||||
|
||||
UPDATE biz_shop_manage sm
|
||||
JOIN biz_shop_manage_group g ON g.group_name = sm.group_name
|
||||
SET sm.group_id = g.id
|
||||
WHERE sm.group_id IS NULL
|
||||
AND sm.group_name IS NOT NULL
|
||||
AND TRIM(sm.group_name) <> '';
|
||||
Reference in New Issue
Block a user