revamp projects: modify database schema

This commit is contained in:
2025-03-18 21:53:32 +01:00
parent 2e7acb7a9a
commit a4a48ef2b6
2 changed files with 59 additions and 22 deletions

View File

@@ -8,22 +8,39 @@ CREATE TABLE events (
`description` TEXT
);
CREATE TABLE projects (
CREATE TABLE project_group (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`name` TEXT NOT NULL,
`description` TEXT,
`active` BOOLEAN DEFAULT TRUE
`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 (
CREATE TABLE project (
`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,
`uname` TEXT NOT NULL REFERENCES users(`uname`),
`mail` TEXT,
`role` TEXT,
`lead` BOOLEAN NOT NULL DEFAULT FALSE,
`owner` BOOLEAN NOT NULL DEFAULT FALSE
`link` TEXT NOT NULL,
`mail` TEXT NOT NULL,
FOREIGN KEY (project_id) REFERENCES project (id),
FOREIGN KEY (uname) REFERENCES maintainer (uname),
);
CREATE TABLE users (

View File

@@ -8,22 +8,42 @@ CREATE TABLE "events" (
"description" TEXT
);
CREATE TABLE "projects" (
CREATE TABLE "project_group" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"name" TEXT NOT NULL,
"description" TEXT,
"active" BOOLEAN DEFAULT TRUE
"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" (
CREATE TABLE "project" (
"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,
"uname" TEXT NOT NULL REFERENCES users(uname),
"mail" TEXT,
"role" TEXT,
"lead" BOOLEAN NOT NULL DEFAULT FALSE,
"owner" BOOLEAN NOT NULL DEFAULT FALSE
"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" (