-- Migration 002: expand sessions table CHECK constraint to include 'draining' and 'stopped'.
BEGIN IMMEDIATE;
CREATE TABLE sessions_v2 (
id TEXT PRIMARY KEY,
state TEXT NOT NULL DEFAULT 'ready' CHECK(state IN ('ready','waiting','draining','stopped')),
wake_at_ms INTEGER,
hook_revision TEXT REFERENCES releases(id),
hook_epoch INTEGER NOT NULL DEFAULT 0 CHECK(hook_epoch >= 0),
CHECK(state = 'waiting' OR wake_at_ms IS NULL)
) STRICT;
INSERT INTO sessions_v2(id, state, wake_at_ms, hook_revision, hook_epoch)
SELECT id, state, wake_at_ms, hook_revision, hook_epoch FROM sessions;
DROP TABLE sessions;
ALTER TABLE sessions_v2 RENAME TO sessions;
PRAGMA user_version = 2;
COMMIT;