CUB-228: add battery_calibration_offset to cameras table
CI/CD / lint-and-typecheck (pull_request) Successful in 6s
CI/CD / test (pull_request) Successful in 6s
CI/CD / build (pull_request) Failing after 4m47s
CI/CD / deploy (pull_request) Has been skipped

- Add column to 001_create_tables.sql for fresh databases
- Add migration 002 for existing databases (idempotent via
  pragma_table_info check)
- Implement runIncrementalMigrations in db.go
- Add BatteryCalibrationOffset to Camera model
- Update all camera SELECT queries (cameras List, detail, MQTT
  subscriber getCamera, register)
This commit is contained in:
2026-05-22 22:31:54 -04:00
parent 1a8f67a392
commit 1704d8a833
6 changed files with 49 additions and 14 deletions
+6 -5
View File
@@ -3,11 +3,12 @@
-- Cameras table: registry of all GoPro cameras
CREATE TABLE IF NOT EXISTS cameras (
camera_id TEXT PRIMARY KEY,
friendly_name TEXT NOT NULL,
mac_address TEXT UNIQUE,
created_at DATETIME NOT NULL DEFAULT (datetime('now')),
updated_at DATETIME NOT NULL DEFAULT (datetime('now'))
camera_id TEXT PRIMARY KEY,
friendly_name TEXT NOT NULL,
mac_address TEXT UNIQUE,
battery_calibration_offset REAL,
created_at DATETIME NOT NULL DEFAULT (datetime('now')),
updated_at DATETIME NOT NULL DEFAULT (datetime('now'))
);
CREATE INDEX IF NOT EXISTS idx_cameras_mac ON cameras(mac_address);
@@ -0,0 +1,5 @@
-- Migration 002: Add battery_calibration_offset to cameras table
-- This column stores a per-camera calibration value for converting raw battery
-- readings (e.g. GoPro Hero 3 byte at offset 57) into percentage values.
ALTER TABLE cameras ADD COLUMN battery_calibration_offset REAL;