multica/server/migrations/081_runtime_timezone.up.sql

20 lines
1.1 KiB
SQL

-- Per-runtime IANA timezone, used as the bucket boundary for daily and
-- hourly token-usage aggregation (see runtime_usage.sql + the rollup
-- function in 082_rollup_runtime_timezone.up.sql).
--
-- Defaults to 'UTC' so the migration is non-disruptive: pre-existing
-- runtimes keep their current UTC-bucketed semantics until an operator
-- (web UI) or a daemon (system zoneinfo on registration) overrides it.
-- All historical task_usage_daily rows stay UTC-cut; only buckets that
-- get re-touched by new task_usage events after this migration ships
-- get rebuilt under the runtime's tz. This is intentional — the product
-- decision was "guarantee future correctness, do not backfill history".
ALTER TABLE agent_runtime
ADD COLUMN timezone TEXT NOT NULL DEFAULT 'UTC';
COMMENT ON COLUMN agent_runtime.timezone IS
'IANA timezone (e.g. ''Asia/Shanghai''). Bucket boundary for per-day '
'and per-hour token usage aggregation. Defaults to UTC for runtimes '
'that existed before MUL-1950; the daemon registration / web UI '
'overwrites this with an operator-detected value going forward.';