Files
Assistant/database/migrations/007_capability_health_v2.sql
T
2026-08-16 15:22:49 +03:00

19 lines
911 B
PL/PgSQL

BEGIN;
SET ROLE capability_role;
ALTER TABLE capability.health ADD COLUMN IF NOT EXISTS semantic_version INTEGER;
ALTER TABLE capability.health ADD COLUMN IF NOT EXISTS observed_at_unix_millis BIGINT;
UPDATE capability.health SET semantic_version = 1 WHERE semantic_version IS NULL;
ALTER TABLE capability.health ALTER COLUMN semantic_version SET NOT NULL;
ALTER TABLE capability.health DROP CONSTRAINT IF EXISTS capability_health_semantic_shape;
ALTER TABLE capability.health ADD CONSTRAINT capability_health_semantic_shape CHECK ((semantic_version = 1 AND observed_at_unix_millis IS NULL) OR (semantic_version = 2 AND observed_at_unix_millis > 0));
CREATE TABLE IF NOT EXISTS capability.health_projection (
capability_id TEXT PRIMARY KEY,
state TEXT NOT NULL,
reason TEXT NOT NULL,
revision BIGINT NOT NULL,
semantic_version INTEGER NOT NULL,
observed_at_unix_millis BIGINT
);
RESET ROLE;
COMMIT;