CREATE TABLE IF NOT EXISTS releases (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
repository_id uuid NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
author_id uuid NOT NULL REFERENCES users(id),
tag text NOT NULL,
name text NOT NULL,
body text,
target_commit text NOT NULL,
is_draft boolean DEFAULT false NOT NULL,
is_prerelease boolean DEFAULT false NOT NULL,
created_at timestamp DEFAULT now() NOT NULL,
published_at timestamp,
UNIQUE(repository_id, tag)
);
CREATE INDEX IF NOT EXISTS releases_repo ON releases(repository_id, created_at DESC);
|