Tracksolid deployment with timescale & grafana with backup
Find a file
david kiania f1c231a737
Some checks failed
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
Static Analysis / static (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
fix(reporting): restore live-feed cost-centre exclusion + vehicle_type (migration 20)
Migration 11 was applied out of order on 2026-06-10 (it had never been recorded
applied on prod — the reporting objects were hand-created, then migrations 14/15/16
modified them). Re-running 11 recreated reporting.v_live_positions and
reporting.fn_live_positions at their BASE definitions; 15/16 were skipped as
already-applied, so the live map silently lost migration 15's cost-centre exclusion
(personal/management/mtn) and migration 16's vehicle_type/fleet_segment GeoJSON
fields — the live-map vehicle count jumped 74 -> 80.

Migration 20 re-asserts both objects' intended final definitions (verbatim union of
15 + 16). As the highest-numbered migration it always runs last, so the correct
state wins regardless of apply order. Already hot-fixed on prod by re-running 15+16;
this captures it durably. Idempotent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 22:36:45 +03:00
.claude feat(dwh): bronze pipeline migrations, runbook, and execution manual 2026-04-25 01:07:53 +03:00
.forgejo/workflows feat: add db_audit health checks, runner, and scheduled Forgejo workflow 2026-04-12 21:40:29 +03:00
administration Add DB connection string to ops manual, add administration notes, remove stale deploy guide 2026-04-10 22:34:56 +03:00
backup feat(dwh): bronze pipeline migrations, runbook, and execution manual 2026-04-25 01:07:53 +03:00
data chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
db_audit chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
docs chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
legacy chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
migrations fix(reporting): restore live-feed cost-centre exclusion + vehicle_type (migration 20) 2026-06-10 22:36:45 +03:00
scripts feat(db): dedicated read-only dashboard_ro role + repoint staging 2026-06-10 12:33:53 +03:00
tests FIX-M21: alarm cross-feed + stale-IMEI recovery for live_positions 2026-05-21 22:33:21 +03:00
.env chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
.gitignore docs+tooling: OSM POI export workflow + Shell stations data; graded DQ report 2026-06-08 22:04:49 +03:00
.python-version chore: align .python-version to 3.12.0 (matches Docker image and pyproject.toml) 2026-04-12 21:41:43 +03:00
55_ts_coolify_gemini_prod.code-workspace feat(dwh): bronze pipeline migrations, runbook, and execution manual 2026-04-25 01:07:53 +03:00
audit_device_reconciliation.py feat(analytics): Phase 0 — analytics-config migration and CSV importer rewrite 2026-04-27 23:42:37 +03:00
backfill_trips_enrichment.py feat(trips): add --skip-geocode flag to backfill script 2026-05-01 22:12:07 +03:00
CLAUDE.md fix(reporting): restore live-feed cost-centre exclusion + vehicle_type (migration 20) 2026-06-10 22:36:45 +03:00
dashboard_api_rev.py feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana) 2026-06-10 21:41:05 +03:00
deploy_dashboard_api.sh feat(db): split refresher onto REFRESH_DATABASE_URL; prod reads via dashboard_ro 2026-06-10 20:19:40 +03:00
deploy_dashboard_api_staging.sh chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
docker-compose.yaml feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana) 2026-06-10 21:41:05 +03:00
Dockerfile Fix migration failures: switch to full TimescaleDB + use psql runner 2026-04-08 17:17:58 +03:00
import_drivers_csv.py chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
ingest_events_rev.py feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana) 2026-06-10 21:41:05 +03:00
ingest_movement_rev.py chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
ingest_worker_rev.py feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana) 2026-06-10 21:41:05 +03:00
pyproject.toml ci: add ruff + mypy static analysis config and Forgejo workflow 2026-04-12 21:32:33 +03:00
README.md first commit 2026-04-07 20:41:16 +03:00
run_migrations.py fix(reporting): restore live-feed cost-centre exclusion + vehicle_type (migration 20) 2026-06-10 22:36:45 +03:00
run_migrations.sh chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
shell_stations.csv docs+tooling: OSM POI export workflow + Shell stations data; graded DQ report 2026-06-08 22:04:49 +03:00
shell_stations.geojson docs+tooling: OSM POI export workflow + Shell stations data; graded DQ report 2026-06-08 22:04:49 +03:00
sync_driver_audit.py perf+fix: SAVEPOINT-per-item pollers, batched GPS inserts, parallel detail fetch 2026-04-18 00:33:55 +03:00
ts_shared_rev.py FIX-M21: alarm cross-feed + stale-IMEI recovery for live_positions 2026-05-21 22:33:21 +03:00
webhook_receiver_rev.py FIX-M21: alarm cross-feed + stale-IMEI recovery for live_positions 2026-05-21 22:33:21 +03:00