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;