Merge remote-tracking branch 'upstream/main' into feat/channel-insights
# Conflicts: # backend/cmd/server/wire_gen.go
This commit is contained in:
7
backend/migrations/125_add_group_rpm_limit.sql
Normal file
7
backend/migrations/125_add_group_rpm_limit.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
-- Add per-group Requests-Per-Minute limit.
|
||||
-- rpm_limit: 分组统一 RPM 上限(0 = 不限制)。
|
||||
-- 一旦配置即接管该用户在该分组的限流,覆盖用户级 users.rpm_limit。
|
||||
-- 计数键:rpm:ug:{user_id}:{group_id}:{minute}。
|
||||
ALTER TABLE groups ADD COLUMN IF NOT EXISTS rpm_limit integer NOT NULL DEFAULT 0;
|
||||
|
||||
COMMENT ON COLUMN groups.rpm_limit IS '分组 RPM 上限;0 表示不限制;设置后接管该分组用户的限流(覆盖用户级 rpm_limit)。';
|
||||
7
backend/migrations/126_add_user_rpm_limit.sql
Normal file
7
backend/migrations/126_add_user_rpm_limit.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
-- Add per-user Requests-Per-Minute cap.
|
||||
-- rpm_limit: 用户全局 RPM 兜底(0 = 不限制)。
|
||||
-- 仅当所访问分组未设置 rpm_limit 且无 user-group rpm_override 时作为兜底生效。
|
||||
-- 计数键:rpm:u:{user_id}:{minute}。
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS rpm_limit integer NOT NULL DEFAULT 0;
|
||||
|
||||
COMMENT ON COLUMN users.rpm_limit IS '用户级 RPM 兜底上限;0 表示不限制;仅当分组未设置 rpm_limit 时生效。';
|
||||
16
backend/migrations/127_add_user_group_rpm_override.sql
Normal file
16
backend/migrations/127_add_user_group_rpm_override.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
-- 在已有的"用户专属分组倍率表"上扩展 rpm_override 列;同时放宽 rate_multiplier 为可空,
|
||||
-- 使一行记录可以只覆盖 rate、只覆盖 rpm,或同时覆盖两者。
|
||||
-- 语义:
|
||||
-- - rate_multiplier NULL → 该用户在此分组使用 groups.rate_multiplier 默认值
|
||||
-- - rate_multiplier 非 NULL → 覆盖分组默认计费倍率
|
||||
-- - rpm_override NULL → 该用户在此分组使用 groups.rpm_limit 默认值
|
||||
-- - rpm_override 非 NULL → 覆盖分组默认 RPM(0 = 不限制)
|
||||
-- 用户级 users.rpm_limit 仍独立生效(跨分组总配额)。
|
||||
ALTER TABLE user_group_rate_multipliers
|
||||
ADD COLUMN IF NOT EXISTS rpm_override integer NULL;
|
||||
|
||||
ALTER TABLE user_group_rate_multipliers
|
||||
ALTER COLUMN rate_multiplier DROP NOT NULL;
|
||||
|
||||
COMMENT ON COLUMN user_group_rate_multipliers.rate_multiplier IS '专属计费倍率;NULL 表示沿用分组默认倍率。';
|
||||
COMMENT ON COLUMN user_group_rate_multipliers.rpm_override IS '专属 RPM 上限;NULL 表示沿用分组默认;0 表示该用户在此分组不受 RPM 限制。';
|
||||
Reference in New Issue
Block a user