refactor: 统一数据库约束维护位置
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
-- base_sys_user_role 角色授权去重
|
||||
-- 只处理未软删除的有效授权;软删除历史记录不参与去重和唯一约束
|
||||
-- 只处理未软删除的有效授权;软删除历史记录不参与去重
|
||||
-- 保留每组有效 userId + roleId 中 id 最小的一条,删除其余重复记录
|
||||
|
||||
-- 1. 执行前查看重复数据
|
||||
@@ -34,12 +34,4 @@ WHERE deleted_at IS NULL
|
||||
GROUP BY "userId", "roleId"
|
||||
HAVING COUNT(*) > 1;
|
||||
|
||||
-- 4. 建议约束:只限制未软删除授权唯一,允许历史软删除授权保留
|
||||
ALTER TABLE base_sys_user_role
|
||||
DROP CONSTRAINT IF EXISTS uk_base_sys_user_role_user_role;
|
||||
|
||||
DROP INDEX IF EXISTS uk_base_sys_user_role_user_role;
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS uk_base_sys_user_role_user_role
|
||||
ON base_sys_user_role ("userId", "roleId")
|
||||
WHERE deleted_at IS NULL;
|
||||
-- 唯一约束统一在 约束类.sql 中维护。
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
-- server_show 冠名索引修复
|
||||
-- 目的:
|
||||
-- 1. 允许同一服务器存在多个不同玩家的冠名记录
|
||||
-- 2. 保证同一玩家对同一服务器只有一条记录(续费更新该记录)
|
||||
-- 目的:允许同一服务器存在多个不同玩家的冠名记录。
|
||||
-- 同服同属主唯一约束统一在 约束类.sql 中维护。
|
||||
|
||||
BEGIN;
|
||||
|
||||
@@ -12,12 +11,4 @@ DROP INDEX IF EXISTS idx_server_show_server_id;
|
||||
-- 保留普通查询索引
|
||||
CREATE INDEX IF NOT EXISTS idx_server_show_server_id ON server_show (server_id);
|
||||
|
||||
-- 保证“一个玩家对一个服务器最多一条”
|
||||
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;
|
||||
|
||||
COMMIT;
|
||||
|
||||
@@ -19,12 +19,7 @@ CREATE TABLE IF NOT EXISTS config_spt (
|
||||
description TEXT NOT NULL DEFAULT ''
|
||||
);
|
||||
|
||||
ALTER TABLE config_spt DROP CONSTRAINT IF EXISTS idx_config_spt_task_id;
|
||||
DROP INDEX IF EXISTS idx_config_spt_task_id;
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_config_spt_task_id
|
||||
ON config_spt(task_id)
|
||||
WHERE deleted_at IS NULL;
|
||||
-- task_id 唯一约束统一在 约束类.sql 中维护。
|
||||
|
||||
ALTER TABLE config_spt DROP COLUMN IF EXISTS seat_id;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user