AkurAI Build
Menu

AkurAI-Build

public

Latest change 20dad6d02033d14ae8d348daf8be44524b5a8ecd - Add secure collaboration and Build operations by Ólafur Búi Ólafsson

CREATE TABLE issues (
    id INTEGER PRIMARY KEY,
    repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
    number INTEGER NOT NULL CHECK (number > 0),
    title TEXT NOT NULL CHECK (length(title) BETWEEN 1 AND 256),
    body TEXT NOT NULL CHECK (length(body) <= 65536),
    state TEXT NOT NULL DEFAULT 'open' CHECK (state IN ('open', 'closed')),
    author_sub TEXT NOT NULL CHECK (length(author_sub) BETWEEN 1 AND 256),
    author_display TEXT NOT NULL CHECK (length(author_display) BETWEEN 1 AND 256),
    created_at INTEGER NOT NULL DEFAULT (unixepoch()),
    updated_at INTEGER NOT NULL DEFAULT (unixepoch()),
    closed_at INTEGER,
    UNIQUE(repository_id, number)
) STRICT;

CREATE TABLE issue_comments (
    id INTEGER PRIMARY KEY,
    issue_id INTEGER NOT NULL REFERENCES issues(id) ON DELETE CASCADE,
    body TEXT NOT NULL CHECK (length(body) BETWEEN 1 AND 65536),
    author_sub TEXT NOT NULL CHECK (length(author_sub) BETWEEN 1 AND 256),
    author_display TEXT NOT NULL CHECK (length(author_display) BETWEEN 1 AND 256),
    created_at INTEGER NOT NULL DEFAULT (unixepoch()),
    updated_at INTEGER NOT NULL DEFAULT (unixepoch())
) STRICT;

CREATE INDEX issues_repository_state_updated ON issues(repository_id, state, updated_at DESC, number DESC);
CREATE INDEX issues_repository_number ON issues(repository_id, number);
CREATE INDEX issue_comments_issue_created ON issue_comments(issue_id, created_at, id);

PRAGMA user_version = 8;