revamp projects: modify database schema

This commit is contained in:
2025-03-18 21:53:32 +01:00
parent 07d132575a
commit 9d37fbead5
2 changed files with 59 additions and 22 deletions
+28 -11
View File
@@ -8,22 +8,39 @@ CREATE TABLE events (
`description` TEXT `description` TEXT
); );
CREATE TABLE projects ( CREATE TABLE project_group (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT, `id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`name` TEXT NOT NULL, `title` TEXT NOT NULL,
`description` TEXT, `description_en` TEXT NOT NULL,
`active` BOOLEAN DEFAULT TRUE `description_no` TEXT NOT NULL,
`gitea_link` TEXT NOT NULL,
`wiki_link` TEXT
); );
CREATE TABLE projectmembers ( CREATE TABLE project (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT, `id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`projectid` INTEGER FOREIGN KEY REFERENCES projects(`id`), `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, `name` TEXT NOT NULL,
`uname` TEXT NOT NULL REFERENCES users(`uname`), `link` TEXT NOT NULL,
`mail` TEXT, `mail` TEXT NOT NULL,
`role` TEXT, FOREIGN KEY (project_id) REFERENCES project (id),
`lead` BOOLEAN NOT NULL DEFAULT FALSE, FOREIGN KEY (uname) REFERENCES maintainer (uname),
`owner` BOOLEAN NOT NULL DEFAULT FALSE
); );
CREATE TABLE users ( CREATE TABLE users (
+31 -11
View File
@@ -8,22 +8,42 @@ CREATE TABLE "events" (
"description" TEXT "description" TEXT
); );
CREATE TABLE "projects" ( CREATE TABLE "project_group" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT, "id" INTEGER PRIMARY KEY AUTOINCREMENT,
"name" TEXT NOT NULL, "title" TEXT NOT NULL,
"description" TEXT, "description_en" TEXT NOT NULL,
"active" BOOLEAN DEFAULT TRUE "description_no" TEXT NOT NULL,
"gitea_link" TEXT NOT NULL,
"wiki_link" TEXT
); );
CREATE TABLE "projectmembers" ( CREATE TABLE "project" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT, "id" INTEGER PRIMARY KEY AUTOINCREMENT,
"projectid" INTEGER REFERENCES projects(id), "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, "name" TEXT NOT NULL,
"uname" TEXT NOT NULL REFERENCES users(uname), "link" TEXT NOT NULL,
"mail" TEXT, "mail" TEXT NOT NULL
"role" TEXT, );
"lead" BOOLEAN NOT NULL DEFAULT FALSE,
"owner" BOOLEAN NOT NULL DEFAULT FALSE CREATE TABLE "project__project_maintainer" (
"project_id" INTEGER REFERENCES project (id),
"uname" TEXT REFERENCES maintainer (uname),
PRIMARY KEY (project_id, uname)
); );
CREATE TABLE "users" ( CREATE TABLE "users" (