2026-02-22 19:33:17 +08:00
|
|
|
|
-- 玩家+物品+VIP状态 联合唯一
|
|
|
|
|
|
ALTER TABLE player_item
|
|
|
|
|
|
ADD CONSTRAINT uk_player_item_player_item_vip
|
2026-03-28 02:22:15 +08:00
|
|
|
|
UNIQUE (player_id, item_id, is_vip);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 玩家+挖矿 联合唯一
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_talk_player ON player_talk (talk_id, player_id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 玩家+任务 联合唯一
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_task ON player_task (player_id, task_id);
|
|
|
|
|
|
-- 玩家+称号 联合唯一
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_title ON player_title (player_id, is_vip) WHERE deleted_at IS NULL;
|
|
|
|
|
|
|
|
|
|
|
|
-- 玩家+精灵 联合唯一
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_pet ON player_pet (player_id, is_vip, catch_time) WHERE deleted_at IS NULL;
|
|
|
|
|
|
|
|
|
|
|
|
-- 玩家+CDK 联合唯一
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_cdk_log
|
|
|
|
|
|
ON player_cdk_log (player_id, code_id, is_vip)
|
|
|
|
|
|
WHERE deleted_at IS NULL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 玩家孵蛋 联合唯一
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_egg
|
|
|
|
|
|
ON player_egg (player_id, is_vip)
|
|
|
|
|
|
WHERE deleted_at IS NULL;
|
|
|
|
|
|
|
|
|
|
|
|
---PVP索引
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_pvp
|
|
|
|
|
|
ON player_pvp (player_id, season)
|
|
|
|
|
|
WHERE deleted_at IS NULL;
|
|
|
|
|
|
|
|
|
|
|
|
--签到
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_sign_in_log
|
|
|
|
|
|
ON player_sign_in_log (player_id, sign_in_id, is_vip)
|
|
|
|
|
|
WHERE deleted_at IS NULL;
|
|
|
|
|
|
--房间索引
|
|
|
|
|
|
CREATE UNIQUE INDEX uk_player_room_house
|
|
|
|
|
|
ON player_room_house (player_id, is_vip)
|
2026-04-26 23:57:40 +08:00
|
|
|
|
WHERE deleted_at IS NULL;
|
|
|
|
|
|
|
|
|
|
|
|
-- 集市权限角色 联合唯一
|
|
|
|
|
|
-- 先清理历史重复授权,保留每组 userId + roleId 中 id 最小的一条
|
|
|
|
|
|
DELETE FROM base_sys_user_role a
|
|
|
|
|
|
USING base_sys_user_role b
|
|
|
|
|
|
WHERE a."userId" = b."userId"
|
|
|
|
|
|
AND a."roleId" = b."roleId"
|
|
|
|
|
|
AND a.id > b.id;
|
|
|
|
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_base_sys_user_role_user_role
|
|
|
|
|
|
ON base_sys_user_role ("userId", "roleId");
|