446 lines
16 KiB
SQL
446 lines
16 KiB
SQL
-- ============================================
|
||
-- UUID迁移脚本(简化版 - 开发环境)
|
||
-- 将系统中所有bigint类型的ID字段改为CHAR(36)类型的UUID
|
||
-- 注意:此脚本直接修改表结构,不保留旧数据,适用于开发环境
|
||
-- ============================================
|
||
|
||
-- 注意:user表和product表已经是CHAR(36)类型,跳过修改
|
||
|
||
-- ============================================
|
||
-- 第一部分:修改核心业务表
|
||
-- ============================================
|
||
|
||
-- user表:已经是CHAR(36),跳过
|
||
-- product表:已经是CHAR(36),跳过
|
||
|
||
-- order表:修改主键和外键字段
|
||
ALTER TABLE `order`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- query表:修改主键和外键字段
|
||
ALTER TABLE `query`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- user_auth表:修改主键和外键字段(注意:user_id需要关联到user表的UUID)
|
||
ALTER TABLE `user_auth`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD UNIQUE INDEX `uk_auth_type_key` (`auth_type`, `auth_key`) COMMENT '确保同一个认证方式只能绑定一个用户';
|
||
|
||
-- agent表:修改主键和外键字段
|
||
ALTER TABLE `agent`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `team_leader_id` CHAR(36) NULL COMMENT '团队首领UUID',
|
||
MODIFY COLUMN `invite_code_id` CHAR(36) NULL COMMENT '邀请码UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD UNIQUE INDEX `uk_user_id` (`user_id`),
|
||
ADD INDEX `idx_team_leader_id` (`team_leader_id`),
|
||
ADD INDEX `idx_invite_code_id` (`invite_code_id`);
|
||
|
||
-- ============================================
|
||
-- 第二部分:修改代理相关表
|
||
-- ============================================
|
||
|
||
-- agent_commission表
|
||
ALTER TABLE `agent_commission`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- agent_invite_code表
|
||
ALTER TABLE `agent_invite_code`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `used_user_id` CHAR(36) NULL COMMENT '使用用户UUID',
|
||
MODIFY COLUMN `used_agent_id` CHAR(36) NULL COMMENT '使用代理UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_used_user_id` (`used_user_id`),
|
||
ADD INDEX `idx_used_agent_id` (`used_agent_id`);
|
||
|
||
-- agent_link表
|
||
ALTER TABLE `agent_link`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- agent_order表
|
||
ALTER TABLE `agent_order`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- agent_wallet表
|
||
ALTER TABLE `agent_wallet`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD UNIQUE INDEX `uk_agent_id` (`agent_id`);
|
||
|
||
-- agent_withdrawal表
|
||
ALTER TABLE `agent_withdrawal`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `wallet_id` CHAR(36) NOT NULL COMMENT '钱包UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_wallet_id` (`wallet_id`);
|
||
|
||
-- agent_withdrawal_tax表
|
||
ALTER TABLE `agent_withdrawal_tax`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `withdrawal_id` CHAR(36) NOT NULL COMMENT '提现UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_withdrawal_id` (`withdrawal_id`);
|
||
|
||
-- agent_rebate表
|
||
ALTER TABLE `agent_rebate`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- agent_relation表
|
||
ALTER TABLE `agent_relation`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `parent_agent_id` CHAR(36) NULL COMMENT '上级代理UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_parent_agent_id` (`parent_agent_id`);
|
||
|
||
-- agent_upgrade表
|
||
ALTER TABLE `agent_upgrade`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`);
|
||
|
||
-- agent_real_name表
|
||
ALTER TABLE `agent_real_name`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`);
|
||
|
||
-- agent_config表
|
||
ALTER TABLE `agent_config`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- agent_product_config表
|
||
ALTER TABLE `agent_product_config`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- agent_short_link表
|
||
ALTER TABLE `agent_short_link`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `invite_code_id` CHAR(36) NULL COMMENT '邀请码UUID',
|
||
MODIFY COLUMN `link_id` CHAR(36) NULL COMMENT '链接UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_invite_code_id` (`invite_code_id`),
|
||
ADD INDEX `idx_link_id` (`link_id`);
|
||
|
||
-- agent_invite_code_usage表
|
||
ALTER TABLE `agent_invite_code_usage`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `invite_code_id` CHAR(36) NOT NULL COMMENT '邀请码UUID',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_invite_code_id` (`invite_code_id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`);
|
||
|
||
-- agent_freeze_task表
|
||
ALTER TABLE `agent_freeze_task`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `agent_id` CHAR(36) NOT NULL COMMENT '代理UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `commission_id` CHAR(36) NOT NULL COMMENT '佣金UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_agent_id` (`agent_id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_commission_id` (`commission_id`);
|
||
|
||
-- ============================================
|
||
-- 第三部分:修改订单相关表
|
||
-- ============================================
|
||
|
||
-- order_refund表
|
||
ALTER TABLE `order_refund`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- ============================================
|
||
-- 第四部分:修改查询相关表
|
||
-- ============================================
|
||
|
||
-- query_cleanup_log表
|
||
ALTER TABLE `query_cleanup_log`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- query_cleanup_detail表
|
||
ALTER TABLE `query_cleanup_detail`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `cleanup_log_id` CHAR(36) NOT NULL COMMENT '清理日志UUID',
|
||
MODIFY COLUMN `query_id` CHAR(36) NOT NULL COMMENT '查询UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_cleanup_log_id` (`cleanup_log_id`),
|
||
ADD INDEX `idx_query_id` (`query_id`),
|
||
ADD INDEX `idx_order_id` (`order_id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_product_id` (`product_id`);
|
||
|
||
-- query_cleanup_config表
|
||
ALTER TABLE `query_cleanup_config`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- ============================================
|
||
-- 第五部分:修改产品相关表
|
||
-- ============================================
|
||
|
||
-- product_feature表
|
||
ALTER TABLE `product_feature`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `product_id` CHAR(36) NOT NULL COMMENT '产品UUID',
|
||
MODIFY COLUMN `feature_id` CHAR(36) NOT NULL COMMENT '功能UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_product_id` (`product_id`),
|
||
ADD INDEX `idx_feature_id` (`feature_id`);
|
||
|
||
-- feature表
|
||
ALTER TABLE `feature`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- ============================================
|
||
-- 第六部分:修改其他表
|
||
-- ============================================
|
||
|
||
-- authorization_document表
|
||
ALTER TABLE `authorization_document`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '用户UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_order_id` (`order_id`);
|
||
|
||
-- global_notifications表(注意:原表id是int类型)
|
||
ALTER TABLE `global_notifications`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- example表
|
||
ALTER TABLE `example`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `feature_id` CHAR(36) NOT NULL COMMENT '功能UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_feature_id` (`feature_id`);
|
||
|
||
-- ============================================
|
||
-- 第七部分:修改管理后台表
|
||
-- ============================================
|
||
|
||
-- admin_user表
|
||
ALTER TABLE `admin_user`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- admin_role表
|
||
ALTER TABLE `admin_role`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- admin_menu表(注意:字段名是pid,不是parent_id)
|
||
ALTER TABLE `admin_menu`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `pid` CHAR(36) NOT NULL DEFAULT '0' COMMENT '父菜单UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_pid` (`pid`);
|
||
|
||
-- admin_api表
|
||
ALTER TABLE `admin_api`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- admin_dict_type表
|
||
ALTER TABLE `admin_dict_type`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- admin_dict_data表(注意:没有dict_type_id字段,使用dict_type字符串)
|
||
-- 此表不需要修改外键字段,因为使用的是dict_type字符串而不是ID
|
||
|
||
ALTER TABLE `admin_dict_data`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`);
|
||
|
||
-- admin_user_role表
|
||
ALTER TABLE `admin_user_role`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT '用户UUID',
|
||
MODIFY COLUMN `role_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT '角色UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_user_id` (`user_id`),
|
||
ADD INDEX `idx_role_id` (`role_id`);
|
||
|
||
-- admin_role_menu表
|
||
ALTER TABLE `admin_role_menu`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `role_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT '角色UUID',
|
||
MODIFY COLUMN `menu_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT '菜单UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_role_id` (`role_id`),
|
||
ADD INDEX `idx_menu_id` (`menu_id`);
|
||
|
||
-- admin_role_api表
|
||
ALTER TABLE `admin_role_api`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `role_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT '角色UUID',
|
||
MODIFY COLUMN `api_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT 'API UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_role_id` (`role_id`),
|
||
ADD INDEX `idx_api_id` (`api_id`);
|
||
|
||
-- ============================================
|
||
-- 第八部分:修改推广相关表(新增)
|
||
-- ============================================
|
||
|
||
-- admin_promotion_link表
|
||
ALTER TABLE `admin_promotion_link`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `admin_user_id` CHAR(36) NOT NULL DEFAULT '0' COMMENT '推广者账号UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_admin_user_id` (`admin_user_id`);
|
||
|
||
-- admin_promotion_link_stats_history表
|
||
ALTER TABLE `admin_promotion_link_stats_history`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `link_id` CHAR(36) NOT NULL COMMENT '推广链接UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_link_id` (`link_id`);
|
||
|
||
-- admin_promotion_link_stats_total表
|
||
ALTER TABLE `admin_promotion_link_stats_total`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `link_id` CHAR(36) NOT NULL COMMENT '推广链接UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD INDEX `idx_link_id` (`link_id`);
|
||
|
||
-- admin_promotion_order表
|
||
ALTER TABLE `admin_promotion_order`
|
||
MODIFY COLUMN `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
|
||
MODIFY COLUMN `link_id` CHAR(36) NOT NULL COMMENT '推广链接UUID',
|
||
MODIFY COLUMN `order_id` CHAR(36) NOT NULL COMMENT '订单UUID',
|
||
MODIFY COLUMN `user_id` CHAR(36) NOT NULL COMMENT '下单用户UUID',
|
||
MODIFY COLUMN `admin_user_id` CHAR(36) NOT NULL COMMENT '推广者账号UUID',
|
||
DROP PRIMARY KEY,
|
||
ADD PRIMARY KEY (`id`),
|
||
ADD UNIQUE INDEX `uk_order_id` (`order_id`) COMMENT '确保每个订单只有一条推广记录',
|
||
ADD INDEX `idx_link_id` (`link_id`),
|
||
ADD INDEX `idx_user_id` (`user_id`) COMMENT '优化用户查询',
|
||
ADD INDEX `idx_admin_user_id` (`admin_user_id`);
|
||
|
||
-- ============================================
|
||
-- 注意事项
|
||
-- ============================================
|
||
-- 1. 此脚本直接修改表结构,不保留旧数据
|
||
-- 2. user表和product表已经是CHAR(36)类型,已跳过
|
||
-- 3. 执行后,所有ID字段都是CHAR(36)类型
|
||
-- 4. 插入新记录时,需要在应用层生成UUID(使用uuid.NewString())
|
||
-- 5. 如果表中有数据,需要先清空数据或手动填充UUID
|
||
-- 6. 建议在开发环境先测试,确认无误后再应用到生产环境
|
||
-- 7. admin_menu表使用pid字段而不是parent_id
|
||
-- 8. admin_dict_data表使用dict_type字符串字段,不是dict_type_id
|
||
-- 9. global_notifications表的id原为int类型,现改为CHAR(36) |