文档修改
This commit is contained in:
@@ -988,7 +988,8 @@ CREATE INDEX idx_data_scopes_expires ON staff_data_scopes(expires_at) WHERE expi
|
||||
|
||||
-- permission_change_logs (append-only, no deleted_at)
|
||||
CREATE TABLE permission_change_logs (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
id UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
operated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), -- 分区键(原 operated_at 前置)
|
||||
target_type VARCHAR(30) NOT NULL
|
||||
CHECK (target_type IN ('role','role_permission','staff_role','staff_override','staff_scope')),
|
||||
target_id UUID NOT NULL,
|
||||
@@ -1003,8 +1004,15 @@ CREATE TABLE permission_change_logs (
|
||||
operator_ip INET,
|
||||
user_agent TEXT,
|
||||
reason TEXT NOT NULL DEFAULT '',
|
||||
operated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
PRIMARY KEY (id, operated_at) -- 分区表主键必须包含分区键
|
||||
) PARTITION BY RANGE (operated_at);
|
||||
|
||||
CREATE TABLE permission_change_logs_2026_04 PARTITION OF permission_change_logs
|
||||
FOR VALUES FROM ('2026-04-01') TO ('2026-05-01');
|
||||
CREATE TABLE permission_change_logs_2026_05 PARTITION OF permission_change_logs
|
||||
FOR VALUES FROM ('2026-05-01') TO ('2026-06-01');
|
||||
CREATE TABLE permission_change_logs_default PARTITION OF permission_change_logs DEFAULT;
|
||||
CREATE INDEX idx_perm_log_staff ON permission_change_logs(staff_id, operated_at DESC) WHERE staff_id IS NOT NULL;
|
||||
CREATE INDEX idx_perm_log_role ON permission_change_logs(role_id, operated_at DESC) WHERE role_id IS NOT NULL;
|
||||
CREATE INDEX idx_perm_log_target ON permission_change_logs(target_type, target_id, operated_at DESC);
|
||||
|
||||
Reference in New Issue
Block a user