mirror of
https://github.com/detleph/server.git
synced 2026-09-04 08:36:06 +02:00
106 lines
3.1 KiB
SQL
106 lines
3.1 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Event" (
|
|
"id" INTEGER NOT NULL,
|
|
"date" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "Event_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Admin" (
|
|
"id" INTEGER NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"password" TEXT NOT NULL,
|
|
"level" INTEGER NOT NULL,
|
|
"eventId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Admin_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Campaign" (
|
|
"id" INTEGER NOT NULL,
|
|
"ends" TIMESTAMP(3) NOT NULL,
|
|
"limit" INTEGER NOT NULL DEFAULT 40,
|
|
"curr" INTEGER NOT NULL DEFAULT 0,
|
|
"links" TEXT[],
|
|
"eventId" INTEGER NOT NULL,
|
|
"groupId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Campaign_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Discipline" (
|
|
"id" INTEGER NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"minteamsize" INTEGER NOT NULL,
|
|
"maxteamsize" INTEGER NOT NULL,
|
|
"eventId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Discipline_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Teams" (
|
|
"id" INTEGER NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"startdate" TIMESTAMP(3) NOT NULL,
|
|
"disciplineId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Teams_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Participant" (
|
|
"id" INTEGER NOT NULL,
|
|
"firstname" TEXT NOT NULL,
|
|
"lastname" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"teamsId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Participant_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Oragnisation" (
|
|
"id" INTEGER NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"eventId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Oragnisation_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Group" (
|
|
"id" INTEGER NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"oragnisationId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Group_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Admin" ADD CONSTRAINT "Admin_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Campaign" ADD CONSTRAINT "Campaign_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "Group"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Campaign" ADD CONSTRAINT "Campaign_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Discipline" ADD CONSTRAINT "Discipline_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Teams" ADD CONSTRAINT "Teams_disciplineId_fkey" FOREIGN KEY ("disciplineId") REFERENCES "Discipline"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Participant" ADD CONSTRAINT "Participant_teamsId_fkey" FOREIGN KEY ("teamsId") REFERENCES "Teams"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Oragnisation" ADD CONSTRAINT "Oragnisation_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Group" ADD CONSTRAINT "Group_oragnisationId_fkey" FOREIGN KEY ("oragnisationId") REFERENCES "Oragnisation"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|