OPC # 0006: OPC Git Trunk-Based management
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -126,6 +126,40 @@ await using (var cmd = ds.CreateCommand("""
|
||||
CREATE INDEX IF NOT EXISTS ix_opc_artifact_opc_id ON opc_artifact(opc_id);
|
||||
CREATE INDEX IF NOT EXISTS ix_opc_artifact_type ON opc_artifact(opc_id, artifact_type);
|
||||
CREATE INDEX IF NOT EXISTS ix_opc_pinned_commit_opc_id ON opc_pinned_commit(opc_id);
|
||||
|
||||
-- ── Build + Release history ────────────────────────────────────────────
|
||||
CREATE TABLE IF NOT EXISTS build_record (
|
||||
id VARCHAR(8) PRIMARY KEY,
|
||||
kind VARCHAR(20) NOT NULL,
|
||||
target VARCHAR(500) NOT NULL,
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'Running',
|
||||
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
finished_at TIMESTAMPTZ,
|
||||
duration_ms INTEGER,
|
||||
image_digest VARCHAR(200),
|
||||
commit_sha VARCHAR(40),
|
||||
log TEXT NOT NULL DEFAULT ''
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS release_record (
|
||||
id VARCHAR(8) PRIMARY KEY,
|
||||
environment VARCHAR(50) NOT NULL,
|
||||
image_name VARCHAR(200) NOT NULL,
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'Running',
|
||||
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
finished_at TIMESTAMPTZ
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS release_tenant_result (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
release_id VARCHAR(8) NOT NULL REFERENCES release_record(id) ON DELETE CASCADE,
|
||||
subdomain VARCHAR(200) NOT NULL,
|
||||
container_name VARCHAR(200) NOT NULL,
|
||||
success BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
error TEXT
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS ix_build_record_started_at ON build_record(started_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS ix_build_record_kind ON build_record(kind);
|
||||
CREATE INDEX IF NOT EXISTS ix_release_record_started_at ON release_record(started_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS ix_release_tenant_release_id ON release_tenant_result(release_id);
|
||||
"""))
|
||||
await cmd.ExecuteNonQueryAsync();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user