ALTER TABLE reports ADD COLUMN action_type VARCHAR(30) NOT NULL DEFAULT '' AFTER status, ADD COLUMN handle_remark VARCHAR(1000) NOT NULL DEFAULT '' AFTER action_type; CREATE INDEX idx_reports_target ON reports(target_type, target_id, created_at); ALTER TABLE im_messages ADD COLUMN admin_removed_at DATETIME(3) NULL AFTER recalled_at, ADD COLUMN admin_removed_by BIGINT UNSIGNED NULL AFTER admin_removed_at, ADD COLUMN admin_remove_reason VARCHAR(500) NOT NULL DEFAULT '' AFTER admin_removed_by; INSERT INTO admin_permissions(permission_code,permission_name,permission_group,sort_order) VALUES('messages:manage','下架及恢复违规聊天消息','content',33) ON DUPLICATE KEY UPDATE permission_name=VALUES(permission_name),permission_group=VALUES(permission_group),sort_order=VALUES(sort_order); INSERT IGNORE INTO admin_role_permissions(role_id,permission_code) SELECT id,'messages:manage' FROM admin_roles WHERE role_code='super_admin';