-- 数据库迁移一致性修复
-- 版本: V22
-- 描述: 修复权限表和奖励表字段缺失问题（对齐实体类）
-- 创建时间: 2026-03-08

-- 1. 为 sys_role 表添加缺失字段
ALTER TABLE sys_role ADD COLUMN is_core INT DEFAULT 0;
ALTER TABLE sys_role ADD COLUMN deleted INT DEFAULT 0;
COMMENT ON COLUMN sys_role.is_core IS '是否核心角色：0-否 1-是';
COMMENT ON COLUMN sys_role.deleted IS '是否删除：0-否 1-是';

-- 2. 为 sys_permission 表添加 sort_order 字段（如已存在则忽略）
ALTER TABLE sys_permission ADD COLUMN IF NOT EXISTS sort_order INT DEFAULT 0;
COMMENT ON COLUMN sys_permission.sort_order IS '排序号';

-- 3. 为 user_rewards 表添加 status 字段
ALTER TABLE user_rewards ADD COLUMN status VARCHAR(32) NOT NULL DEFAULT 'PENDING';
COMMENT ON COLUMN user_rewards.status IS '状态：PENDING/PROCESSED/FAILED';

-- 4. 添加索引
CREATE INDEX idx_role_deleted ON sys_role(deleted);
CREATE INDEX idx_permission_sort ON sys_permission(sort_order);
CREATE INDEX idx_user_rewards_status ON user_rewards(status);
