2026-04-21 01:12:26 +08:00
|
|
|
|
-- server_show 冠名索引修复
|
|
|
|
|
|
-- 目的:
|
|
|
|
|
|
-- 1. 允许同一服务器存在多个不同玩家的冠名记录
|
|
|
|
|
|
-- 2. 保证同一玩家对同一服务器只有一条记录(续费更新该记录)
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN;
|
|
|
|
|
|
|
|
|
|
|
|
-- 历史上 server_id 被建成了单列唯一约束/唯一索引,会拦截同服多冠名
|
|
|
|
|
|
ALTER TABLE server_show DROP CONSTRAINT IF EXISTS idx_server_show_server_id;
|
|
|
|
|
|
DROP INDEX IF EXISTS idx_server_show_server_id;
|
|
|
|
|
|
|
|
|
|
|
|
-- 保留普通查询索引
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_server_show_server_id ON server_show (server_id);
|
|
|
|
|
|
|
|
|
|
|
|
-- 保证“一个玩家对一个服务器最多一条”
|
2026-04-27 00:54:18 +08:00
|
|
|
|
ALTER TABLE server_show DROP CONSTRAINT IF EXISTS idx_server_show_server_owner;
|
|
|
|
|
|
DROP INDEX IF EXISTS idx_server_show_server_owner;
|
|
|
|
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_server_show_server_owner
|
|
|
|
|
|
ON server_show (server_id, owner)
|
|
|
|
|
|
WHERE deleted_at IS NULL;
|
2026-04-21 01:12:26 +08:00
|
|
|
|
|
|
|
|
|
|
COMMIT;
|