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:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user