告警记录保存位置快照

This commit is contained in:
stu2not
2026-05-27 17:06:12 +08:00
parent 356e333c81
commit 1b75435a3c
11 changed files with 321 additions and 5 deletions

View File

@@ -78,6 +78,22 @@ async def _ensure_columns(conn, *, table_name: str, columns: list[tuple[str, str
await conn.execute(text(f"ALTER TABLE {table_name} ADD COLUMN {definition}"))
async def _ensure_device_alarm_location_columns(conn) -> None:
await _ensure_columns(
conn,
table_name="device_alarm_events",
columns=[
("coord_type", "coord_type VARCHAR(16) NULL AFTER source_msg_id"),
("lat", "lat DECIMAL(10, 7) NULL AFTER coord_type"),
("lng", "lng DECIMAL(10, 7) NULL AFTER lat"),
("location_updated_at", "location_updated_at DATETIME NULL AFTER lng"),
("address", "address VARCHAR(255) NULL AFTER location_updated_at"),
("address_resolved_at", "address_resolved_at DATETIME NULL AFTER address"),
("address_resolve_status", "address_resolve_status TINYINT NULL AFTER address_resolved_at"),
],
)
async def _ensure_child_location_address_columns(conn) -> None:
await _ensure_columns(
conn,
@@ -204,6 +220,7 @@ async def init_db():
await conn.run_sync(Base.metadata.create_all)
await _ensure_manual_sleep_mode_column(conn)
await _ensure_schedule_suppressed_until_column(conn)
await _ensure_device_alarm_location_columns(conn)
await _ensure_child_location_address_columns(conn)
await _ensure_device_family_tables(conn)
await engine.dispose()