Allow revising active betas with fresh tests and history

This commit is contained in:
2026-10-05 21:02:58 -04:00
parent 9d4ff992a4
commit f8d0ba3936
21 changed files with 713 additions and 41 deletions
+27
View File
@@ -180,6 +180,32 @@ CREATE TABLE IF NOT EXISTS betas (
CREATE INDEX IF NOT EXISTS idx_betas_state ON betas(state);
CREATE INDEX IF NOT EXISTS idx_betas_script ON betas(script_id);
-- Revisions keep the beta identity and original rollback images. Archived
-- files are independent copies so version cleanup cannot erase this history.
CREATE TABLE IF NOT EXISTS beta_revisions (
beta_id INTEGER NOT NULL REFERENCES betas(id) ON DELETE CASCADE,
revision INTEGER NOT NULL,
started_at TEXT NOT NULL,
notes TEXT,
results_json TEXT,
PRIMARY KEY (beta_id, revision)
);
CREATE TABLE IF NOT EXISTS beta_revision_files (
beta_id INTEGER NOT NULL,
revision INTEGER NOT NULL,
script_id INTEGER NOT NULL,
name TEXT NOT NULL,
kind TEXT NOT NULL,
path TEXT NOT NULL,
version_id INTEGER NOT NULL,
version INTEGER NOT NULL,
release_version TEXT,
sha256 TEXT NOT NULL,
content BLOB NOT NULL,
PRIMARY KEY (beta_id, revision, script_id),
FOREIGN KEY (beta_id, revision) REFERENCES beta_revisions(beta_id, revision) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS beta_servers (
beta_id INTEGER NOT NULL REFERENCES betas(id) ON DELETE CASCADE,
server TEXT NOT NULL,
@@ -208,6 +234,7 @@ CREATE TABLE IF NOT EXISTS beta_test_plans (
CREATE TABLE IF NOT EXISTS beta_test_runs (
id TEXT PRIMARY KEY,
beta_id INTEGER NOT NULL REFERENCES betas(id) ON DELETE CASCADE,
revision INTEGER NOT NULL DEFAULT 1,
server TEXT NOT NULL,
phase INTEGER NOT NULL DEFAULT 0,
created_at TEXT NOT NULL,