fix(db): 空字符串datetime归一化为NULL,兼容MariaDB严格模式
monitor_events.event_end_time / event_details.frame_timestamp 收到空串时 插入 NULL 而非 '',避免 1292 Incorrect datetime value 报错
This commit is contained in:
@@ -175,6 +175,11 @@ def get_video_url_exists(video_path: str) -> bool:
|
|||||||
# monitor_events 操作
|
# monitor_events 操作
|
||||||
# ============================================================
|
# ============================================================
|
||||||
|
|
||||||
|
def _dt_or_none(value):
|
||||||
|
"""datetime 字段归一化: 空串/None → NULL(MariaDB 严格模式拒绝 '' 插入 DATETIME 列)"""
|
||||||
|
return value if value else None
|
||||||
|
|
||||||
|
|
||||||
def insert_event(task_id: int, event_start_time: str, event_end_time: str,
|
def insert_event(task_id: int, event_start_time: str, event_end_time: str,
|
||||||
camera_name: str, global_summary: str, entities_json: list,
|
camera_name: str, global_summary: str, entities_json: list,
|
||||||
compute_provider: list) -> int:
|
compute_provider: list) -> int:
|
||||||
@@ -187,7 +192,7 @@ def insert_event(task_id: int, event_start_time: str, event_end_time: str,
|
|||||||
(task_id, event_start_time, event_end_time, camera_name,
|
(task_id, event_start_time, event_end_time, camera_name,
|
||||||
global_summary, entities_json, compute_provider)
|
global_summary, entities_json, compute_provider)
|
||||||
VALUES (%s, %s, %s, %s, %s, %s, %s)""",
|
VALUES (%s, %s, %s, %s, %s, %s, %s)""",
|
||||||
(task_id, event_start_time, event_end_time, camera_name,
|
(task_id, _dt_or_none(event_start_time), _dt_or_none(event_end_time), camera_name,
|
||||||
global_summary, json.dumps(entities_json, ensure_ascii=False),
|
global_summary, json.dumps(entities_json, ensure_ascii=False),
|
||||||
json.dumps(compute_provider, ensure_ascii=False))
|
json.dumps(compute_provider, ensure_ascii=False))
|
||||||
)
|
)
|
||||||
@@ -214,7 +219,7 @@ def insert_event_detail(event_id: int, task_id: int, frame_index: int,
|
|||||||
(event_id, task_id, frame_index, frame_timestamp, camera_name,
|
(event_id, task_id, frame_index, frame_timestamp, camera_name,
|
||||||
person, action, clothing, is_attention_event, source_providers)
|
person, action, clothing, is_attention_event, source_providers)
|
||||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""",
|
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""",
|
||||||
(event_id, task_id, frame_index, frame_timestamp, camera_name,
|
(event_id, task_id, frame_index, _dt_or_none(frame_timestamp), camera_name,
|
||||||
person, action, clothing, is_attention_event,
|
person, action, clothing, is_attention_event,
|
||||||
json.dumps(source_providers, ensure_ascii=False))
|
json.dumps(source_providers, ensure_ascii=False))
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user