Files
beacon-server/db/migrations/010_add_node_clock_drift.sql
2026-07-23 13:34:41 -07:00

17 lines
920 B
SQL

-- Copyright 2026 Beacon Contributors
-- SPDX-License-Identifier: AGPL-3.0-or-later
-- Stores the device-reported clock drift measured from each ADVERT: the signed
-- advert body already carries the device's own wall-clock timestamp
-- (advert.Timestamp, epoch seconds), which the server previously decoded and
-- then discarded before it reached the nodes table. This column stores
-- (device timestamp - server receive time) in seconds, computed at the same
-- moment nodes.last_advert_at is set to NOW(), so last_advert_at doubles as
-- the "when was this drift measured" timestamp with no separate column
-- needed. NULL until a node's first successfully-verified advert is upserted.
--
-- +ve = device clock ahead of the server; -ve = behind. Surfaced on the node
-- API for repeaters/room servers only (nodeType 2/3) -- see internal/api/nodes.go.
ALTER TABLE nodes ADD COLUMN device_clock_drift_seconds INTEGER;