refactor(db)!: adopt project-routed pooled databases

Reorganize WNDB by responsibility and remove legacy scheme endpoints.\n\nRoute analysis and time-series access through project pools, preserve transactional realtime replacement, and refresh GIS materialized views after writes.\n\nAdd database architecture documentation, live pooling coverage, API contract updates, and executable container verification.\n\nBREAKING CHANGE: legacy scheme APIs and flat app.native.wndb module imports are removed.
This commit is contained in:
2026-08-25 18:35:05 +08:00
parent fdbcc5c033
commit fa188af0b1
181 changed files with 8446 additions and 33546 deletions
+15 -12
View File
@@ -19,15 +19,16 @@ class _FakeCursor:
async def fetchall(self):
return [
{
"id": " 25470001 ",
"type": " PRESSURE ",
"associated_element_id": " J1 ",
"device_id": " 25470001 ",
"device_type": " PRESSURE ",
"node_id": " J1 ",
"link_id": None,
"api_query_id": "query-1",
"transmission_mode": "realtime",
"transmission_frequency": None,
"reliability": "0.95",
"x_coor": "117.1",
"y_coor": "32.9",
"reliability": "95",
"x": "117.1",
"y": "32.9",
}
]
@@ -47,16 +48,18 @@ def test_get_scadas_normalizes_id_and_type():
assert result == [
{
"id": "25470001",
"type": "pressure",
"associated_element_id": "J1",
"device_id": "25470001",
"device_type": "pressure",
"node_id": "J1",
"link_id": None,
"api_query_id": "query-1",
"transmission_mode": "realtime",
"transmission_frequency": None,
"reliability": 0.95,
"reliability": 95,
"x": 117.1,
"y": 32.9,
}
]
assert "associated_element_id" in conn.cursor_instance.query
assert "FROM public.scada_info" in conn.cursor_instance.query
assert "node_id" in conn.cursor_instance.query
assert "link_id" in conn.cursor_instance.query
assert "FROM gis.scada_devices" in conn.cursor_instance.query