fix(scan): 修复单IP扫描500错误并清除MySQL不兼容SQL

1. enhanced_scan.py: comprehensive_scan_ip 误用 schema 的 IPAddress 做
   db.query 导致 ArgumentError(500)。改用 ORM 模型 IPAddressModel,与
   文件内其他函数一致。
2. enhanced_scan_service.py: update_ip_from_scan_result 使用 PostgreSQL
   的 @> 包含操作符,MySQL 上报 SQL语法错误(1064)。改为纯 Python
   ipaddress 遍历匹配网段,新增 _find_network_for_ip 辅助方法。
This commit is contained in:
Your Name
2026-08-12 10:47:32 +08:00
parent 11d830b496
commit b7551af688
2 changed files with 28 additions and 12 deletions
+2 -1
View File
@@ -113,7 +113,8 @@ def comprehensive_scan_ip(
EnhancedScanService.update_ip_from_scan_result(db, result)
# 刷新所属网段统计字段(used_ips/reserved_ips),保证网段列表利用率能即时反映
db_ip = db.query(IPAddress).filter(IPAddress.ip_address == ip_address).first()
from app.models.network import IPAddress as IPAddressModel
db_ip = db.query(IPAddressModel).filter(IPAddressModel.ip_address == ip_address).first()
if db_ip:
NetworkService.get_stats(db, db_ip.network_id)