SHA256
@@ -0,0 +1,49 @@
|
||||
CREATE TABLE IF NOT EXISTS packages (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT UNIQUE NOT NULL,
|
||||
pkgbuild_hash TEXT,
|
||||
description TEXT DEFAULT '',
|
||||
last_built_hash TEXT,
|
||||
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending', 'building', 'built', 'failed')),
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS builds (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
package_name TEXT NOT NULL,
|
||||
target TEXT NOT NULL DEFAULT 'x86_64-semios-linux',
|
||||
atombuild INTEGER NOT NULL DEFAULT 1,
|
||||
status TEXT NOT NULL DEFAULT 'queued' CHECK(status IN ('queued', 'running', 'success', 'failed', 'cancelled')),
|
||||
machine_id INTEGER,
|
||||
trigger TEXT NOT NULL DEFAULT 'manual' CHECK(trigger IN ('manual', 'auto', 'hash-change')),
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
started_at DATETIME,
|
||||
finished_at DATETIME,
|
||||
log_path TEXT,
|
||||
error_message TEXT,
|
||||
FOREIGN KEY (machine_id) REFERENCES machines(id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS machines (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL UNIQUE,
|
||||
hostname TEXT NOT NULL,
|
||||
port INTEGER NOT NULL DEFAULT 3001,
|
||||
is_primary INTEGER NOT NULL DEFAULT 0,
|
||||
status TEXT NOT NULL DEFAULT 'offline' CHECK(status IN ('online', 'offline', 'building')),
|
||||
current_build_id INTEGER,
|
||||
cpu_usage REAL DEFAULT 0.0,
|
||||
memory_usage REAL DEFAULT 0.0,
|
||||
memory_total_mb REAL DEFAULT 0.0,
|
||||
disk_usage REAL DEFAULT 0.0,
|
||||
last_heartbeat DATETIME,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (current_build_id) REFERENCES builds(id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_builds_status ON builds(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_builds_package ON builds(package_name);
|
||||
CREATE INDEX IF NOT EXISTS idx_builds_machine ON builds(machine_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_packages_status ON packages(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_machines_status ON machines(status);
|
||||
Reference in New Issue
Block a user