-- 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;