WIP: revamp projects

This commit is contained in:
Oystein Kristoffer Tveit 2025-03-18 21:53:32 +01:00
parent c3d8ce017d
commit 0f37f3f264
Signed by: oysteikt
GPG Key ID: 9F2F7D8250F35146
2 changed files with 63 additions and 24 deletions

42
dist/pvv_mysql.sql vendored

@ -8,21 +8,39 @@ CREATE TABLE events (
`description` TEXT
);
CREATE TABLE projects (
CREATE TABLE project_group (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`name` TEXT,
`description` TEXT,
`active` BOOLEAN
`title` TEXT NOT NULL,
`description_en` TEXT NOT NULL,
`description_no` TEXT NOT NULL,
`gitea_link` TEXT NOT NULL,
`wiki_link` TEXT
);
CREATE TABLE projectmembers (
`projectid` INTEGER,
`name` TEXT,
`uname` TEXT,
`mail` TEXT,
`role` TEXT,
`lead` BOOLEAN DEFAULT 0,
`owner` BOOLEAN DEFAULT 0
CREATE TABLE project (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`group_id` INTEGER NOT NULL REFERENCES project_group (id),
`title` TEXT NOT NULL,
`description_en` TEXT NOT NULL,
`description_no` TEXT NOT NULL,
`gitea_link` TEXT NOT NULL,
`issue_board_link` TEXT NOT NULL,
`wiki_link` TEXT,
`languages` TEXT,
`technologies` TEXT,
`keywords` TEXT,
`license` TEXT,
`logo_url` TEXT,
FOREIGN KEY (group_id) REFERENCES project_group (id)
);
CREATE TABLE project_maintainer (
`uname` TEXT PRIMARY KEY,
`name` TEXT NOT NULL,
`link` TEXT NOT NULL,
`mail` TEXT NOT NULL,
FOREIGN KEY (project_id) REFERENCES project (id),
FOREIGN KEY (uname) REFERENCES maintainer (uname),
);
CREATE TABLE users (`uname` TEXT, `groups` INT DEFAULT 0);

45
dist/pvv_sqlite.sql vendored

@ -8,21 +8,42 @@ CREATE TABLE "events" (
"description" TEXT
);
CREATE TABLE "projects" (
CREATE TABLE "project_group" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"name" TEXT,
"description" TEXT,
"active" BOOLEAN
"title" TEXT NOT NULL,
"description_en" TEXT NOT NULL,
"description_no" TEXT NOT NULL,
"gitea_link" TEXT NOT NULL,
"wiki_link" TEXT
);
CREATE TABLE "projectmembers" (
"projectid" INTEGER,
"name" TEXT,
"uname" TEXT,
"mail" TEXT,
"role" TEXT,
"lead" BOOLEAN DEFAULT 0,
"owner" BOOLEAN DEFAULT 0
CREATE TABLE "project" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"group_id" INTEGER NOT NULL REFERENCES project_group (id),
"title" TEXT NOT NULL,
"description_en" TEXT NOT NULL,
"description_no" TEXT NOT NULL,
"gitea_link" TEXT NOT NULL,
"issue_board_link" TEXT NOT NULL,
"wiki_link" TEXT,
"languages" TEXT,
"technologies" TEXT,
"keywords" TEXT,
"license" TEXT,
"logo_url" TEXT
);
CREATE TABLE "project_maintainer" (
"uname" TEXT PRIMARY KEY,
"name" TEXT NOT NULL,
"link" TEXT NOT NULL,
"mail" TEXT NOT NULL
);
CREATE TABLE "project__project_maintainer" (
"project_id" INTEGER REFERENCES project (id),
"uname" TEXT REFERENCES maintainer (uname),
PRIMARY KEY (project_id, uname)
);
CREATE TABLE "users" ("uname" TEXT, "groups" INT DEFAULT 0);