-- =====================================================
-- 数据库迁移脚本：为用户表添加实体关联字段
-- =====================================================
-- 执行日期: 2024-11-29
-- 描述: 为 sys_user 表添加 entity_id 和 entity_type 字段，用于实现实体ID自动绑定功能

-- =====================================================
-- 1. 添加字段
-- =====================================================

-- 添加 entity_id 字段
ALTER TABLE sys_user
ADD COLUMN entity_id VARCHAR(50) NULL COMMENT '关联的企业实体ID（MCN机构或主播）';

-- 添加 entity_type 字段
ALTER TABLE sys_user
ADD COLUMN entity_type VARCHAR(20) NULL COMMENT '关联实体类型：mcn-机构，streamer-主播';

-- =====================================================
-- 2. 创建索引（可选，用于查询优化）
-- =====================================================

-- entity_id 索引
CREATE INDEX ix_sys_user_entity_id ON sys_user(entity_id);

-- entity_type 索引
CREATE INDEX ix_sys_user_entity_type ON sys_user(entity_type);

-- =====================================================
-- 3. 更新现有用户数据（示例）
-- =====================================================
-- 注意：以下SQL是示例，请根据实际情况修改用户ID和实体ID

-- 示例1: 更新主播用户
-- UPDATE sys_user
-- SET entity_id = 'streamer_001', entity_type = 'streamer'
-- WHERE username = 'streamer1';

-- 示例2: 更新MCN用户
-- UPDATE sys_user
-- SET entity_id = 'mcn_001', entity_type = 'mcn'
-- WHERE username = 'mcnadmin';

-- =====================================================
-- 4. 验证迁移结果
-- =====================================================

-- 查看表结构
-- DESCRIBE sys_user;

-- 查看索引
-- SHOW INDEX FROM sys_user;

-- =====================================================
-- 5. 回滚脚本（如需要）
-- =====================================================
-- DROP INDEX ix_sys_user_entity_type ON sys_user;
-- DROP INDEX ix_sys_user_entity_id ON sys_user;
-- ALTER TABLE sys_user DROP COLUMN entity_type;
-- ALTER TABLE sys_user DROP COLUMN entity_id;
