mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
feat(cleanup): 解耦 request_candidates 与 provider_api_keys 生命周期
- 移除 request_candidates.key_id 对 provider_api_keys 的外键约束(含迁移脚本) - 删除 Key 时不再级联删除候选记录,改为独立按保留天数定时清理 - 新增 request_candidates_retention_days / request_candidates_cleanup_batch_size 配置项 - batch_delete_task 增加 lock_timeout 及超时自动降批重试机制 - cleanup_key_references 提取阶段化清理流程,移除 RequestCandidate 联动删除 - 前端 CleanupPolicySection 新增候选记录保留天数和清理批次配置 Closes #227 Co-authored-by: Entropy-Xu <entropy.xu@cloudhabitatsh.com>
This commit is contained in:
@@ -287,13 +287,12 @@ def test_cleanup_key_references_preserves_usage_and_video_tasks(
|
||||
side_effects_module.cleanup_key_references(cast(Any, db), ["key-1", "key-2"])
|
||||
|
||||
assert [(stmt.kind, stmt.model.__name__) for stmt in db.statements] == [
|
||||
("delete", "RequestCandidate"),
|
||||
("delete", "GeminiFileMapping"),
|
||||
("update", "Usage"),
|
||||
("update", "VideoTask"),
|
||||
]
|
||||
assert db.statements[2].values_dict == {"provider_api_key_id": None}
|
||||
assert db.statements[3].values_dict == {"key_id": None}
|
||||
assert db.statements[1].values_dict == {"provider_api_key_id": None}
|
||||
assert db.statements[2].values_dict == {"key_id": None}
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
Reference in New Issue
Block a user