54 lines
1.7 KiB
SQL
54 lines
1.7 KiB
SQL
CREATE TABLE IF NOT EXISTS starchart_forge_type (
|
|
name VARCHAR(30) NOT NULL UNIQUE,
|
|
ID INTEGER PRIMARY KEY NOT NULL
|
|
);
|
|
|
|
INSERT OR IGNORE INTO starchart_forge_type (name) VALUES('gitea');
|
|
|
|
CREATE TABLE IF NOT EXISTS starchart_forges (
|
|
forge_type INTEGER NOT NULL REFERENCES starchart_forge_type(ID) ON DELETE CASCADE,
|
|
hostname TEXT NOT NULL UNIQUE,
|
|
verified_on INTEGER NOT NULL,
|
|
last_crawl_on INTEGER DEFAULT NULL,
|
|
ID INTEGER PRIMARY KEY NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS starchart_dns_challenges (
|
|
hostname TEXT NOT NULL UNIQUE,
|
|
key TEXT NOT NULL UNIQUE,
|
|
value TEXT NOT NULL UNIQUE,
|
|
created INTEGER NOT NULL,
|
|
ID INTEGER PRIMARY KEY NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS starchart_users (
|
|
hostname_id INTEGER NOT NULL REFERENCES starchart_forges(ID) ON DELETE CASCADE,
|
|
username TEXT NOT NULL,
|
|
html_url TEXT NOT NULL UNIQUE,
|
|
profile_photo_html_url TEXT DEFAULT NULL,
|
|
added_on INTEGER NOT NULL,
|
|
last_crawl_on INTEGER NOT NULL,
|
|
ID INTEGER PRIMARY KEY NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS starchart_project_topics (
|
|
name VARCHAR(50) NOT NULL UNIQUE,
|
|
ID INTEGER PRIMARY KEY NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS starchart_repositories (
|
|
ID INTEGER PRIMARY KEY NOT NULL,
|
|
hostname_id INTEGER NOT NULL REFERENCES starchart_forges(ID) ON DELETE CASCADE,
|
|
owner_id INTEGER NOT NULL REFERENCES starchart_users(ID) ON DELETE CASCADE,
|
|
name TEXT NOT NULL,
|
|
description TEXT DEFAULT NULL,
|
|
website TEXT DEFAULT NULL,
|
|
html_url TEXT NOT NULL UNIQUE,
|
|
created INTEGER NOT NULL,
|
|
last_crawl INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS starchart_repository_topic_mapping (
|
|
repository_id INTEGER NOT NULL REFERENCES starchart_repositories(ID) ON DELETE CASCADE,
|
|
topic_id INTEGER NOT NULL REFERENCES starchart_project_topics(ID) ON DELETE CASCADE
|
|
);
|