mirror of
https://github.com/aljazceru/landscape-template.git
synced 2025-12-30 04:24:26 +01:00
Merge branch 'dev' into feature/tournament-pages
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "Tournament" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"thumbnail_image" TEXT NOT NULL,
|
||||
"cover_image" TEXT NOT NULL,
|
||||
"start_date" DATE NOT NULL,
|
||||
"end_date" DATE NOT NULL,
|
||||
"location" TEXT NOT NULL,
|
||||
"website" TEXT NOT NULL,
|
||||
"votes_count" INTEGER NOT NULL DEFAULT 0,
|
||||
|
||||
CONSTRAINT "Tournament_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TournamentPrize" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"amount" TEXT NOT NULL,
|
||||
"image" TEXT NOT NULL,
|
||||
"tournament_id" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "TournamentPrize_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TournamentJudge" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"company" TEXT NOT NULL,
|
||||
"twitter" TEXT,
|
||||
"tournament_id" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "TournamentJudge_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TournamentFAQ" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"question" TEXT NOT NULL,
|
||||
"answer" TEXT NOT NULL,
|
||||
"tournament_id" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "TournamentFAQ_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TournamentEvent" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"image" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"date" DATE NOT NULL,
|
||||
"location" TEXT NOT NULL,
|
||||
"website" TEXT NOT NULL,
|
||||
"type" INTEGER NOT NULL,
|
||||
"tournament_id" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "TournamentEvent_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TournamentParticipant" (
|
||||
"tournament_id" INTEGER NOT NULL,
|
||||
"user_id" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "TournamentParticipant_pkey" PRIMARY KEY ("tournament_id","user_id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TournamentProject" (
|
||||
"tournament_id" INTEGER NOT NULL,
|
||||
"project_id" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "TournamentProject_pkey" PRIMARY KEY ("tournament_id","project_id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentPrize" ADD CONSTRAINT "TournamentPrize_tournament_id_fkey" FOREIGN KEY ("tournament_id") REFERENCES "Tournament"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentJudge" ADD CONSTRAINT "TournamentJudge_tournament_id_fkey" FOREIGN KEY ("tournament_id") REFERENCES "Tournament"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentFAQ" ADD CONSTRAINT "TournamentFAQ_tournament_id_fkey" FOREIGN KEY ("tournament_id") REFERENCES "Tournament"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentEvent" ADD CONSTRAINT "TournamentEvent_tournament_id_fkey" FOREIGN KEY ("tournament_id") REFERENCES "Tournament"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentParticipant" ADD CONSTRAINT "TournamentParticipant_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentParticipant" ADD CONSTRAINT "TournamentParticipant_tournament_id_fkey" FOREIGN KEY ("tournament_id") REFERENCES "Tournament"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentProject" ADD CONSTRAINT "TournamentProject_project_id_fkey" FOREIGN KEY ("project_id") REFERENCES "Project"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TournamentProject" ADD CONSTRAINT "TournamentProject_tournament_id_fkey" FOREIGN KEY ("tournament_id") REFERENCES "Tournament"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -67,6 +67,8 @@ model User {
|
||||
userKeys UserKey[]
|
||||
skills Skill[]
|
||||
roles UsersOnWorkRoles[]
|
||||
|
||||
tournaments TournamentParticipant[]
|
||||
}
|
||||
|
||||
model UserKey {
|
||||
@@ -136,6 +138,7 @@ model Project {
|
||||
tags Tag[]
|
||||
|
||||
recruit_roles ProjectRecruitRoles[]
|
||||
tournaments TournamentProject[]
|
||||
}
|
||||
|
||||
model ProjectRecruitRoles {
|
||||
@@ -272,3 +275,87 @@ model HostedImage {
|
||||
createdAt DateTime @default(now())
|
||||
is_used Boolean @default(false)
|
||||
}
|
||||
|
||||
// -----------------
|
||||
// Tournament
|
||||
// -----------------
|
||||
model Tournament {
|
||||
id Int @id @default(autoincrement())
|
||||
title String
|
||||
description String
|
||||
thumbnail_image String
|
||||
cover_image String
|
||||
start_date DateTime @db.Date
|
||||
end_date DateTime @db.Date
|
||||
location String
|
||||
website String
|
||||
votes_count Int @default(0)
|
||||
|
||||
prizes TournamentPrize[]
|
||||
judges TournamentJudge[]
|
||||
faqs TournamentFAQ[]
|
||||
events TournamentEvent[]
|
||||
participants TournamentParticipant[]
|
||||
projects TournamentProject[]
|
||||
}
|
||||
|
||||
model TournamentPrize {
|
||||
id Int @id @default(autoincrement())
|
||||
title String
|
||||
amount String
|
||||
image String
|
||||
|
||||
tournament Tournament @relation(fields: [tournament_id], references: [id])
|
||||
tournament_id Int
|
||||
}
|
||||
|
||||
model TournamentJudge {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
company String
|
||||
twitter String?
|
||||
|
||||
tournament Tournament @relation(fields: [tournament_id], references: [id])
|
||||
tournament_id Int
|
||||
}
|
||||
|
||||
model TournamentFAQ {
|
||||
id Int @id @default(autoincrement())
|
||||
question String
|
||||
answer String
|
||||
|
||||
tournament Tournament @relation(fields: [tournament_id], references: [id])
|
||||
tournament_id Int
|
||||
}
|
||||
|
||||
model TournamentEvent {
|
||||
id Int @id @default(autoincrement())
|
||||
title String
|
||||
image String
|
||||
description String
|
||||
date DateTime @db.Date
|
||||
location String
|
||||
website String
|
||||
type Int
|
||||
|
||||
tournament Tournament @relation(fields: [tournament_id], references: [id])
|
||||
tournament_id Int
|
||||
}
|
||||
|
||||
model TournamentParticipant {
|
||||
tournament Tournament @relation(fields: [tournament_id], references: [id])
|
||||
tournament_id Int
|
||||
user User @relation(fields: [user_id], references: [id])
|
||||
user_id Int
|
||||
|
||||
@@id([tournament_id, user_id])
|
||||
}
|
||||
|
||||
model TournamentProject {
|
||||
tournament Tournament @relation(fields: [tournament_id], references: [id])
|
||||
tournament_id Int
|
||||
project Project @relation(fields: [project_id], references: [id])
|
||||
project_id Int
|
||||
|
||||
@@id([tournament_id, project_id])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user