feat: 审核规则持久化到DB + 全面配置去硬编码化
- AuditRule模型: 新增code/config_json字段,支持规则编码和阈值参数持久化 - audit_engine_v2: _load_rules从DB读config_json覆盖默认config - audit_rule_sync: 启动时自动从_RULE_REGISTRY同步规则到DB(239条) - settings API: update后刷新query_service配置缓存 - query_service: MAX_ROWS/QUERY_TIMEOUT/MAX_QUERY_LENGTH/MAX_RESULT_MEMORY改为动态读取system_settings - ticket_executor: SQL_TIMEOUT/REDIS_TIMEOUT/MONGO_TIMEOUT改为动态获取 - settings_seeds: 新增executor分组(sql/redis/mongo超时) + query_result_max_memory_mb - audit_rule endpoint: 移除无效的AuditEngine缓存清理(每次audit是新实例) - 测试: 1057 passed(修复所有新引入失败,17个历史遗留)
This commit is contained in:
1 parent
ddf4856a85
commit
a9e214ef1a
11 files changed
+342
-62
No files matched your search
@@ -65,14 +65,14 @@ DDL_RULES: List[Dict[str, Any]] = [
|
||||
"message": "禁止执行 TRUNCATE TABLE 操作,数据不可回滚",
|
||||
},
|
||||
{
|
||||
"name": "单表索引数量不得超过12个",
|
||||
"name": "单表索引数量不得超过20个",
|
||||
"description": "单表索引数量过多会影响写入性能",
|
||||
"rule_type": "DDL",
|
||||
"severity": "warning",
|
||||
"db_type": "all",
|
||||
"pattern": None,
|
||||
"value": "12",
|
||||
"message": "单表索引数量超过12个,会影响写入性能",
|
||||
"value": "20",
|
||||
"message": "单表索引数量超过20个,会影响写入性能",
|
||||
},
|
||||
{
|
||||
"name": "单索引字段数不得超过8个",
|
||||
@@ -95,24 +95,24 @@ DDL_RULES: List[Dict[str, Any]] = [
|
||||
"message": "禁止使用 FLOAT/DOUBLE 类型,建议使用 DECIMAL 避免精度丢失",
|
||||
},
|
||||
{
|
||||
"name": "CHAR 类型长度不得超过10",
|
||||
"name": "CHAR 类型长度不得超过255",
|
||||
"description": "CHAR 类型长度过大会浪费存储空间,超出请使用 VARCHAR",
|
||||
"rule_type": "DDL",
|
||||
"severity": "warning",
|
||||
"db_type": "all",
|
||||
"pattern": None,
|
||||
"value": "10",
|
||||
"message": "CHAR 类型长度不得超过10,超出请使用 VARCHAR",
|
||||
"value": "255",
|
||||
"message": "CHAR 类型长度不得超过255,超出请使用 VARCHAR",
|
||||
},
|
||||
{
|
||||
"name": "表名长度不得超过45字符",
|
||||
"name": "表名长度不得超过64字符",
|
||||
"description": "过长的表名不利于维护和使用",
|
||||
"rule_type": "DDL",
|
||||
"severity": "warning",
|
||||
"db_type": "all",
|
||||
"pattern": None,
|
||||
"value": "45",
|
||||
"message": "表名长度超过45个字符,请缩短表名",
|
||||
"value": "64",
|
||||
"message": "表名长度超过64个字符,请缩短表名",
|
||||
},
|
||||
{
|
||||
"name": "禁止外键约束",
|
||||
|
||||
Reference in new issue
Block a user