AkurAI Build
Menu

Public repository / main

AkurAI-Build / migrations/009_releases.sql

Latest change b9e3df61e6ca9f1a0e193b69ba7657b9ec4d3cc9 - OLI-273: tags and releases with attached artifacts by Óli

CREATE TABLE releases (
    id INTEGER PRIMARY KEY,
    repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
    tag TEXT NOT NULL CHECK (length(tag) BETWEEN 1 AND 200),
    name TEXT NOT NULL CHECK (length(name) BETWEEN 1 AND 200),
    notes TEXT NOT NULL DEFAULT '',
    author TEXT NOT NULL CHECK (length(author) BETWEEN 1 AND 256),
    created_at INTEGER NOT NULL DEFAULT (unixepoch()),
    UNIQUE (repository_id, tag)
) STRICT;

CREATE TABLE release_assets (
    id INTEGER PRIMARY KEY,
    release_id INTEGER NOT NULL REFERENCES releases(id) ON DELETE CASCADE,
    name TEXT NOT NULL CHECK (length(name) BETWEEN 1 AND 200),
    path TEXT NOT NULL,
    sha256 TEXT NOT NULL CHECK (length(sha256) = 64),
    bytes INTEGER NOT NULL CHECK (bytes >= 0),
    created_at INTEGER NOT NULL DEFAULT (unixepoch()),
    UNIQUE (release_id, name)
) STRICT;