From 8071f4b764ccec3aa616341d1c97f53b34003a01 Mon Sep 17 00:00:00 2001 From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com> Date: Fri, 27 Jun 2025 18:44:18 -0700 Subject: [PATCH] added migrations folder to git-project to sync resolved migrations --- .gitignore | 1 - .../migrations/20250424195207_/migration.sql | 385 ++++++++++++++++++ .../migrations/20250429054606_/migration.sql | 72 ++++ .../migrations/20250429202006_/migration.sql | 55 +++ .../migrations/20250429213257_/migration.sql | 30 ++ .../migrations/20250502040400_/migration.sql | 35 ++ .../20250507220633_aircraft/migration.sql | 9 + .../migrations/20250507221612_/migration.sql | 10 + .../migrations/20250517051954_/migration.sql | 2 + .../migrations/20250518050514_/migration.sql | 9 + .../migrations/20250520052826_/migration.sql | 2 + .../migrations/20250520173310_/migration.sql | 8 + .../migrations/20250520214438_/migration.sql | 2 + .../migrations/20250521201215_/migration.sql | 5 + .../migration.sql | 12 + .../migrations/20250521211633_/migration.sql | 2 + .../migrations/20250523174103_/migration.sql | 16 + .../migration.sql | 2 + .../migrations/20250523190214_/migration.sql | 10 + .../migrations/20250523190359_/migration.sql | 3 + .../migrations/20250523204255_/migration.sql | 3 + .../20250530063931_email/migration.sql | 3 + .../migrations/20250530065811_/migration.sql | 9 + .../20250530230033_dev/migration.sql | 9 + .../migrations/20250531024711_/migration.sql | 2 + .../migrations/20250531051750_/migration.sql | 2 + .../migrations/20250601200430_/migration.sql | 3 + .../migrations/20250601200658_/migration.sql | 8 + .../migrations/20250601202459_/migration.sql | 10 + .../migrations/20250601235840_/migration.sql | 2 + .../20250602191227_dev/migration.sql | 2 + .../migrations/20250602191718_/migration.sql | 3 + .../migrations/20250603225416_/migration.sql | 2 + .../migrations/20250604182531_/migration.sql | 2 + .../migrations/20250605074434_/migration.sql | 2 + .../20250606215936_event/migration.sql | 10 + .../migrations/20250614050438_/migration.sql | 8 + .../migrations/20250614072606_/migration.sql | 2 + .../20250618042004_dev/migration.sql | 9 + .../20250619172335_penalty/migration.sql | 28 ++ .../20250622030241_penalty/migration.sql | 11 + .../migrations/20250624012915_/migration.sql | 2 + .../migrations/20250624014607_/migration.sql | 17 + .../migrations/20250624053127_/migration.sql | 2 + .../migrations/20250625030940_/migration.sql | 4 + .../migration.sql | 103 +++++ .../migrations/20250626002440_n/migration.sql | 2 + .../20250626030022_dev_revert/migration.sql | 2 + .../20250626030313_dev/migration.sql | 5 + .../20250626030448_dev/migration.sql | 5 + .../20250626030728_dev/migration.sql | 16 + .../migration.sql | 2 + .../20250626071720_dev/migration.sql | 2 + .../20250626072457_dev/migration.sql | 17 + .../20250626073016_dev/migration.sql | 8 + .../migration.sql | 23 ++ .../schema/migrations/migration_lock.toml | 3 + 57 files changed, 1012 insertions(+), 1 deletion(-) create mode 100644 packages/database/prisma/schema/migrations/20250424195207_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250429054606_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250429202006_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250429213257_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250502040400_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250507220633_aircraft/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250507221612_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250517051954_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250518050514_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250520052826_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250520173310_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250520214438_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250521201215_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250521202242_added_hpg_state/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250521211633_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250523174103_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250523181744_mission_string/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250523190214_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250523190359_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250523204255_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250530063931_email/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250530065811_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250530230033_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250531024711_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250531051750_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250601200430_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250601200658_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250601202459_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250601235840_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250602191227_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250602191718_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250603225416_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250604182531_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250605074434_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250606215936_event/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250614050438_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250614072606_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250618042004_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250619172335_penalty/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250622030241_penalty/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250624012915_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250624014607_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250624053127_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250625030940_/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250625235318_added_cascade_delete_for_user/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626002440_n/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626030022_dev_revert/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626030313_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626030448_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626030728_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626065840_migrated_account/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626071720_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626072457_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250626073016_dev/migration.sql create mode 100644 packages/database/prisma/schema/migrations/20250628014225_remove_audio_admin/migration.sql create mode 100644 packages/database/prisma/schema/migrations/migration_lock.toml diff --git a/.gitignore b/.gitignore index 0909cd9b..55080681 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ node_modules .pnp .pnp.js -migrations mkcert diff --git a/packages/database/prisma/schema/migrations/20250424195207_/migration.sql b/packages/database/prisma/schema/migrations/20250424195207_/migration.sql new file mode 100644 index 00000000..205b59ab --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250424195207_/migration.sql @@ -0,0 +1,385 @@ +-- CreateEnum +CREATE TYPE "EVENT_TYPE" AS ENUM ('COURSE', 'OBLIGATED_COURSE', 'EVENT'); + +-- CreateEnum +CREATE TYPE "KEYWORD_CATEGORY" AS ENUM ('AB_ATMUNG', 'C_KREISLAUF', 'D_NEUROLOGISCH', 'E_TRAUMA_SONSTIGES', 'K_KIND', 'M_BERGRETTUNG', 'P_PSYCHIATRISCH', 'V_VERLETZUNG', 'W_WASSERRETTUNG', 'Z_SONSTIGES'); + +-- CreateEnum +CREATE TYPE "missionType" AS ENUM ('primär', 'sekundär'); + +-- CreateEnum +CREATE TYPE "MissionState" AS ENUM ('running', 'finished', 'draft'); + +-- CreateEnum +CREATE TYPE "HpgState" AS ENUM ('ready', 'arrived', 'onway'); + +-- CreateEnum +CREATE TYPE "GlobalColor" AS ENUM ('PRIMARY', 'SECONDARY', 'INFO', 'SUCCESS', 'WARNING', 'ERROR'); + +-- CreateEnum +CREATE TYPE "BosUse" AS ENUM ('PRIMARY', 'SECONDARY', 'DUAL_USE'); + +-- CreateEnum +CREATE TYPE "Country" AS ENUM ('DE', 'AT', 'CH'); + +-- CreateEnum +CREATE TYPE "BADGES" AS ENUM ('P1', 'P2', 'P3', 'D1', 'D2', 'D3', 'DAY1'); + +-- CreateEnum +CREATE TYPE "PERMISSION" AS ENUM ('ADMIN_EVENT', 'ADMIN_USER', 'AUDIO_ADMIN', 'ADMIN_STATION', 'ADMIN_KEYWORD', 'AUDIO', 'PILOT', 'DISPO'); + +-- CreateTable +CREATE TABLE "accounts" ( + "id" SERIAL NOT NULL, + "compound_id" TEXT NOT NULL, + "user_id" INTEGER NOT NULL, + "provider_type" TEXT NOT NULL, + "provider_id" TEXT NOT NULL, + "provider_account_id" TEXT NOT NULL, + "refresh_token" TEXT, + "access_token" TEXT, + "access_token_expires" TIMESTAMP(3), + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "accounts_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "sessions" ( + "id" SERIAL NOT NULL, + "user_id" INTEGER NOT NULL, + "expires" TIMESTAMP(3) NOT NULL, + "session_token" TEXT NOT NULL, + "access_token" TEXT NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "sessions_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "verification_requests" ( + "id" SERIAL NOT NULL, + "identifier" TEXT NOT NULL, + "token" TEXT NOT NULL, + "expires" TIMESTAMP(3) NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "verification_requests_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "oauth_tokens" ( + "id" SERIAL NOT NULL, + "user_id" TEXT NOT NULL, + "client_id" TEXT NOT NULL, + "access_token" TEXT NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "oauth_tokens_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ChatMessage" ( + "id" SERIAL NOT NULL, + "text" TEXT NOT NULL, + "senderId" TEXT NOT NULL, + "receiverId" TEXT NOT NULL, + "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "receiverName" TEXT NOT NULL, + "senderName" TEXT NOT NULL, + + CONSTRAINT "ChatMessage_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "EventAppointment" ( + "id" SERIAL NOT NULL, + "eventId" INTEGER NOT NULL, + "appointmentDate" TIMESTAMP(3) NOT NULL, + "presenterId" TEXT NOT NULL, + + CONSTRAINT "EventAppointment_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Participant" ( + "id" SERIAL NOT NULL, + "user_id" TEXT NOT NULL, + "finisherMoodleCurseCompleted" BOOLEAN NOT NULL DEFAULT false, + "attended" BOOLEAN NOT NULL DEFAULT false, + "appointmentCancelled" BOOLEAN NOT NULL DEFAULT false, + "completetionWorkflowFinished" BOOLEAN NOT NULL DEFAULT false, + "eventAppointmentId" INTEGER, + "enscriptionDate" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "statusLog" JSONB[] DEFAULT ARRAY[]::JSONB[], + "eventId" INTEGER NOT NULL, + + CONSTRAINT "Participant_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Event" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT NOT NULL, + "type" "EVENT_TYPE" NOT NULL DEFAULT 'EVENT', + "discordRoleId" TEXT DEFAULT '', + "hasPresenceEvents" BOOLEAN NOT NULL DEFAULT false, + "maxParticipants" INTEGER DEFAULT 0, + "finisherMoodleCourseId" TEXT DEFAULT '', + "finishedBadges" "BADGES"[] DEFAULT ARRAY[]::"BADGES"[], + "requiredBadges" "BADGES"[] DEFAULT ARRAY[]::"BADGES"[], + "finishedPermissions" "PERMISSION"[] DEFAULT ARRAY[]::"PERMISSION"[], + "hidden" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "Event_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "File" ( + "id" SERIAL NOT NULL, + + CONSTRAINT "File_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Keyword" ( + "id" SERIAL NOT NULL, + "category" "KEYWORD_CATEGORY" NOT NULL, + "abreviation" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "hpgMissionTypes" TEXT[], + + CONSTRAINT "Keyword_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Mission" ( + "id" SERIAL NOT NULL, + "type" "missionType" NOT NULL DEFAULT 'primär', + "state" "MissionState" NOT NULL DEFAULT 'draft', + "addressLat" DOUBLE PRECISION NOT NULL, + "addressLng" DOUBLE PRECISION NOT NULL, + "addressStreet" TEXT, + "addressCity" TEXT, + "addressZip" TEXT, + "addressOSMways" JSONB[] DEFAULT ARRAY[]::JSONB[], + "missionKeywordCategory" TEXT, + "missionKeywordName" TEXT, + "missionKeywordAbbreviation" TEXT, + "missionPatientInfo" TEXT NOT NULL, + "missionAdditionalInfo" TEXT NOT NULL, + "missionStationIds" TEXT[] DEFAULT ARRAY[]::TEXT[], + "missionStationUserIds" TEXT[] DEFAULT ARRAY[]::TEXT[], + "missionLog" JSONB[] DEFAULT ARRAY[]::JSONB[], + "hpgMissionString" TEXT, + "hpgAmbulanceState" "HpgState", + "hpgFireEngineState" "HpgState", + "hpgPoliceState" "HpgState", + "hpgLocationLat" DOUBLE PRECISION DEFAULT 0, + "hpgLocationLng" DOUBLE PRECISION DEFAULT 0, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "createdUserId" TEXT NOT NULL, + + CONSTRAINT "Mission_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "MissionOnStationUsers" ( + "userId" TEXT NOT NULL, + "missionId" INTEGER NOT NULL, + "stationId" INTEGER NOT NULL +); + +-- CreateTable +CREATE TABLE "MissionsOnStations" ( + "missionId" INTEGER NOT NULL, + "stationId" INTEGER NOT NULL, + + CONSTRAINT "MissionsOnStations_pkey" PRIMARY KEY ("missionId","stationId") +); + +-- CreateTable +CREATE TABLE "Notam" ( + "id" SERIAL NOT NULL, + "color" "GlobalColor" NOT NULL, + "message" TEXT NOT NULL, + "showUntil" TIMESTAMP(3) NOT NULL, + "isMainMsg" BOOLEAN NOT NULL, + "active" BOOLEAN NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Notam_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Station" ( + "id" SERIAL NOT NULL, + "bosUse" "BosUse" NOT NULL, + "bosCallsign" TEXT NOT NULL, + "bosCallsignShort" TEXT NOT NULL, + "bosRadioArea" TEXT NOT NULL, + "country" "Country" NOT NULL, + "operator" TEXT NOT NULL, + "aircraft" TEXT NOT NULL, + "aircraftRegistration" TEXT NOT NULL, + "aircraftSpeed" INTEGER NOT NULL, + "hasWinch" BOOLEAN NOT NULL, + "is24h" BOOLEAN NOT NULL, + "hasNvg" BOOLEAN NOT NULL, + "locationState" TEXT NOT NULL, + "locationStateShort" TEXT NOT NULL, + "hasRope" BOOLEAN NOT NULL, + "fir" TEXT NOT NULL, + "latitude" DOUBLE PRECISION NOT NULL, + "longitude" DOUBLE PRECISION NOT NULL, + "atcCallsign" TEXT NOT NULL, + "hideRangeRings" BOOLEAN NOT NULL, + + CONSTRAINT "Station_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "users" ( + "id" TEXT NOT NULL, + "publicId" TEXT NOT NULL, + "firstname" TEXT NOT NULL, + "lastname" TEXT NOT NULL, + "email" TEXT NOT NULL, + "password" TEXT NOT NULL, + "vatsim_cid" INTEGER, + "moodle_id" INTEGER, + "email_verified" TIMESTAMP(3), + "image" TEXT, + "badges" "BADGES"[] DEFAULT ARRAY[]::"BADGES"[], + "permissions" "PERMISSION"[] DEFAULT ARRAY[]::"PERMISSION"[], + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "is_banned" BOOLEAN NOT NULL DEFAULT false, + + CONSTRAINT "users_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "discord_accounts" ( + "id" SERIAL NOT NULL, + "discord_id" TEXT NOT NULL, + "user_id" TEXT NOT NULL, + "email" TEXT NOT NULL, + "username" TEXT NOT NULL, + "avatar" TEXT, + "global_name" TEXT NOT NULL, + "verified" BOOLEAN NOT NULL DEFAULT false, + "access_token" TEXT NOT NULL, + "refresh_token" TEXT NOT NULL, + "token_type" TEXT NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "discord_accounts_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "_EventAppointmentUser" ( + "A" INTEGER NOT NULL, + "B" TEXT NOT NULL, + + CONSTRAINT "_EventAppointmentUser_AB_pkey" PRIMARY KEY ("A","B") +); + +-- CreateIndex +CREATE UNIQUE INDEX "accounts_compound_id_key" ON "accounts"("compound_id"); + +-- CreateIndex +CREATE INDEX "providerAccountId" ON "accounts"("provider_account_id"); + +-- CreateIndex +CREATE INDEX "providerId" ON "accounts"("provider_id"); + +-- CreateIndex +CREATE INDEX "userId" ON "accounts"("user_id"); + +-- CreateIndex +CREATE UNIQUE INDEX "sessions_session_token_key" ON "sessions"("session_token"); + +-- CreateIndex +CREATE UNIQUE INDEX "sessions_access_token_key" ON "sessions"("access_token"); + +-- CreateIndex +CREATE UNIQUE INDEX "verification_requests_token_key" ON "verification_requests"("token"); + +-- CreateIndex +CREATE UNIQUE INDEX "oauth_tokens_access_token_key" ON "oauth_tokens"("access_token"); + +-- CreateIndex +CREATE UNIQUE INDEX "MissionOnStationUsers_userId_missionId_stationId_key" ON "MissionOnStationUsers"("userId", "missionId", "stationId"); + +-- CreateIndex +CREATE UNIQUE INDEX "users_publicId_key" ON "users"("publicId"); + +-- CreateIndex +CREATE UNIQUE INDEX "users_email_key" ON "users"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "discord_accounts_discord_id_key" ON "discord_accounts"("discord_id"); + +-- CreateIndex +CREATE INDEX "_EventAppointmentUser_B_index" ON "_EventAppointmentUser"("B"); + +-- AddForeignKey +ALTER TABLE "oauth_tokens" ADD CONSTRAINT "oauth_tokens_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ChatMessage" ADD CONSTRAINT "ChatMessage_senderId_fkey" FOREIGN KEY ("senderId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ChatMessage" ADD CONSTRAINT "ChatMessage_receiverId_fkey" FOREIGN KEY ("receiverId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "EventAppointment" ADD CONSTRAINT "EventAppointment_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "EventAppointment" ADD CONSTRAINT "EventAppointment_presenterId_fkey" FOREIGN KEY ("presenterId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Participant" ADD CONSTRAINT "Participant_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Participant" ADD CONSTRAINT "Participant_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Participant" ADD CONSTRAINT "Participant_eventAppointmentId_fkey" FOREIGN KEY ("eventAppointmentId") REFERENCES "EventAppointment"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Mission" ADD CONSTRAINT "Mission_createdUserId_fkey" FOREIGN KEY ("createdUserId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionOnStationUsers" ADD CONSTRAINT "MissionOnStationUsers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionOnStationUsers" ADD CONSTRAINT "MissionOnStationUsers_missionId_fkey" FOREIGN KEY ("missionId") REFERENCES "Mission"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionOnStationUsers" ADD CONSTRAINT "MissionOnStationUsers_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "Station"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionsOnStations" ADD CONSTRAINT "MissionsOnStations_missionId_fkey" FOREIGN KEY ("missionId") REFERENCES "Mission"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionsOnStations" ADD CONSTRAINT "MissionsOnStations_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "Station"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "discord_accounts" ADD CONSTRAINT "discord_accounts_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "_EventAppointmentUser" ADD CONSTRAINT "_EventAppointmentUser_A_fkey" FOREIGN KEY ("A") REFERENCES "EventAppointment"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "_EventAppointmentUser" ADD CONSTRAINT "_EventAppointmentUser_B_fkey" FOREIGN KEY ("B") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250429054606_/migration.sql b/packages/database/prisma/schema/migrations/20250429054606_/migration.sql new file mode 100644 index 00000000..4def7b84 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250429054606_/migration.sql @@ -0,0 +1,72 @@ +-- CreateTable +CREATE TABLE "connectedAircraft" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "publicUser" JSONB NOT NULL, + "lastHeartbeat" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "stationId" INTEGER NOT NULL, + "loginTime" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "esimatedLogoutTime" TIMESTAMP(3), + "logoutTime" TIMESTAMP(3), + "positionLogIds" INTEGER[] DEFAULT ARRAY[]::INTEGER[], + + CONSTRAINT "connectedAircraft_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ConnectedDispatch" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "publicUser" JSONB NOT NULL, + "lastHeartbeat" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "loginTime" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "esimatedLogoutTime" TIMESTAMP(3), + "logoutTime" TIMESTAMP(3), + + CONSTRAINT "ConnectedDispatch_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "PositionLog" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "simulator" TEXT NOT NULL, + "lat" DOUBLE PRECISION NOT NULL, + "lng" DOUBLE PRECISION NOT NULL, + "alt" INTEGER NOT NULL, + "speed" INTEGER NOT NULL, + "heading" INTEGER NOT NULL, + "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "PositionLog_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ReportMessage" ( + "id" SERIAL NOT NULL, + "text" TEXT NOT NULL, + "senderId" TEXT NOT NULL, + "reportedId" TEXT NOT NULL, + "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "erledigt" BOOLEAN NOT NULL DEFAULT false, + + CONSTRAINT "ReportMessage_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "connectedAircraft" ADD CONSTRAINT "connectedAircraft_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "connectedAircraft" ADD CONSTRAINT "connectedAircraft_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "Station"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ConnectedDispatch" ADD CONSTRAINT "ConnectedDispatch_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "PositionLog" ADD CONSTRAINT "PositionLog_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ReportMessage" ADD CONSTRAINT "ReportMessage_senderId_fkey" FOREIGN KEY ("senderId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ReportMessage" ADD CONSTRAINT "ReportMessage_reportedId_fkey" FOREIGN KEY ("reportedId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250429202006_/migration.sql b/packages/database/prisma/schema/migrations/20250429202006_/migration.sql new file mode 100644 index 00000000..70ebce3b --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250429202006_/migration.sql @@ -0,0 +1,55 @@ +/* + Warnings: + + - You are about to drop the `ConnectedDispatch` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `ReportMessage` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "ConnectedDispatch" DROP CONSTRAINT "ConnectedDispatch_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "ReportMessage" DROP CONSTRAINT "ReportMessage_reportedId_fkey"; + +-- DropForeignKey +ALTER TABLE "ReportMessage" DROP CONSTRAINT "ReportMessage_senderId_fkey"; + +-- DropTable +DROP TABLE "ConnectedDispatch"; + +-- DropTable +DROP TABLE "ReportMessage"; + +-- CreateTable +CREATE TABLE "ConnectedDispatcher" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "publicUser" JSONB NOT NULL, + "lastHeartbeat" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "loginTime" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "esimatedLogoutTime" TIMESTAMP(3), + "logoutTime" TIMESTAMP(3), + + CONSTRAINT "ConnectedDispatcher_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Report" ( + "id" SERIAL NOT NULL, + "text" TEXT NOT NULL, + "senderId" TEXT NOT NULL, + "reportedId" TEXT NOT NULL, + "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "reviewed" BOOLEAN NOT NULL DEFAULT false, + + CONSTRAINT "Report_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "ConnectedDispatcher" ADD CONSTRAINT "ConnectedDispatcher_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_senderId_fkey" FOREIGN KEY ("senderId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_reportedId_fkey" FOREIGN KEY ("reportedId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250429213257_/migration.sql b/packages/database/prisma/schema/migrations/20250429213257_/migration.sql new file mode 100644 index 00000000..897dd74d --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250429213257_/migration.sql @@ -0,0 +1,30 @@ +/* + Warnings: + + - You are about to drop the column `reportedId` on the `Report` table. All the data in the column will be lost. + - You are about to drop the column `senderId` on the `Report` table. All the data in the column will be lost. + - Added the required column `reportedUserId` to the `Report` table without a default value. This is not possible if the table is not empty. + - Added the required column `senderUserId` to the `Report` table without a default value. This is not possible if the table is not empty. + +*/ +-- DropForeignKey +ALTER TABLE "Report" DROP CONSTRAINT "Report_reportedId_fkey"; + +-- DropForeignKey +ALTER TABLE "Report" DROP CONSTRAINT "Report_senderId_fkey"; + +-- AlterTable +ALTER TABLE "Report" DROP COLUMN "reportedId", +DROP COLUMN "senderId", +ADD COLUMN "reportedUserId" TEXT NOT NULL, +ADD COLUMN "reviewerUserId" TEXT, +ADD COLUMN "senderUserId" TEXT NOT NULL; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_senderUserId_fkey" FOREIGN KEY ("senderUserId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_reportedUserId_fkey" FOREIGN KEY ("reportedUserId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_reviewerUserId_fkey" FOREIGN KEY ("reviewerUserId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250502040400_/migration.sql b/packages/database/prisma/schema/migrations/20250502040400_/migration.sql new file mode 100644 index 00000000..d66fc346 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250502040400_/migration.sql @@ -0,0 +1,35 @@ +/* + Warnings: + + - You are about to drop the `connectedAircraft` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "connectedAircraft" DROP CONSTRAINT "connectedAircraft_stationId_fkey"; + +-- DropForeignKey +ALTER TABLE "connectedAircraft" DROP CONSTRAINT "connectedAircraft_userId_fkey"; + +-- DropTable +DROP TABLE "connectedAircraft"; + +-- CreateTable +CREATE TABLE "ConnectedAircraft" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "publicUser" JSONB NOT NULL, + "lastHeartbeat" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "stationId" INTEGER NOT NULL, + "loginTime" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "esimatedLogoutTime" TIMESTAMP(3), + "logoutTime" TIMESTAMP(3), + "positionLogIds" INTEGER[] DEFAULT ARRAY[]::INTEGER[], + + CONSTRAINT "ConnectedAircraft_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "ConnectedAircraft" ADD CONSTRAINT "ConnectedAircraft_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ConnectedAircraft" ADD CONSTRAINT "ConnectedAircraft_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "Station"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250507220633_aircraft/migration.sql b/packages/database/prisma/schema/migrations/20250507220633_aircraft/migration.sql new file mode 100644 index 00000000..266c6f17 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250507220633_aircraft/migration.sql @@ -0,0 +1,9 @@ +-- AlterTable +ALTER TABLE "ConnectedAircraft" ADD COLUMN "fmsStatus" TEXT NOT NULL DEFAULT '6', +ADD COLUMN "posAlt" INTEGER, +ADD COLUMN "posH145active" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "posHeading" INTEGER, +ADD COLUMN "posLat" DOUBLE PRECISION, +ADD COLUMN "posLng" DOUBLE PRECISION, +ADD COLUMN "posSimulator" TEXT, +ADD COLUMN "posSpeed" INTEGER; diff --git a/packages/database/prisma/schema/migrations/20250507221612_/migration.sql b/packages/database/prisma/schema/migrations/20250507221612_/migration.sql new file mode 100644 index 00000000..561a9d32 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250507221612_/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - You are about to drop the column `posSimulator` on the `ConnectedAircraft` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "ConnectedAircraft" DROP COLUMN "posSimulator", +ADD COLUMN "simulator" TEXT, +ADD COLUMN "simulatorConnected" BOOLEAN NOT NULL DEFAULT false; diff --git a/packages/database/prisma/schema/migrations/20250517051954_/migration.sql b/packages/database/prisma/schema/migrations/20250517051954_/migration.sql new file mode 100644 index 00000000..7c68faa8 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250517051954_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Report" ADD COLUMN "reviewerComment" TEXT; diff --git a/packages/database/prisma/schema/migrations/20250518050514_/migration.sql b/packages/database/prisma/schema/migrations/20250518050514_/migration.sql new file mode 100644 index 00000000..36ea070e --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250518050514_/migration.sql @@ -0,0 +1,9 @@ +/* + Warnings: + + - The `missionStationIds` column on the `Mission` table would be dropped and recreated. This will lead to data loss if there is data in the column. + +*/ +-- AlterTable +ALTER TABLE "Mission" DROP COLUMN "missionStationIds", +ADD COLUMN "missionStationIds" INTEGER[] DEFAULT ARRAY[]::INTEGER[]; diff --git a/packages/database/prisma/schema/migrations/20250520052826_/migration.sql b/packages/database/prisma/schema/migrations/20250520052826_/migration.sql new file mode 100644 index 00000000..a1cb3b7e --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250520052826_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "settings_ntfy_room" TEXT; diff --git a/packages/database/prisma/schema/migrations/20250520173310_/migration.sql b/packages/database/prisma/schema/migrations/20250520173310_/migration.sql new file mode 100644 index 00000000..2de3f0d0 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250520173310_/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - You are about to drop the column `simulatorConnected` on the `ConnectedAircraft` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "ConnectedAircraft" DROP COLUMN "simulatorConnected"; diff --git a/packages/database/prisma/schema/migrations/20250520214438_/migration.sql b/packages/database/prisma/schema/migrations/20250520214438_/migration.sql new file mode 100644 index 00000000..4c3ae218 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250520214438_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Mission" ADD COLUMN "publicId" TEXT NOT NULL DEFAULT ''; diff --git a/packages/database/prisma/schema/migrations/20250521201215_/migration.sql b/packages/database/prisma/schema/migrations/20250521201215_/migration.sql new file mode 100644 index 00000000..c2f0c560 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250521201215_/migration.sql @@ -0,0 +1,5 @@ +-- CreateEnum +CREATE TYPE "HpgValidationState" AS ENUM ('NOT_VALIDATED', 'PENDING', 'VALID', 'INVALID'); + +-- AlterTable +ALTER TABLE "Mission" ADD COLUMN "hpgValidationState" "HpgValidationState" NOT NULL DEFAULT 'NOT_VALIDATED'; diff --git a/packages/database/prisma/schema/migrations/20250521202242_added_hpg_state/migration.sql b/packages/database/prisma/schema/migrations/20250521202242_added_hpg_state/migration.sql new file mode 100644 index 00000000..cd300963 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250521202242_added_hpg_state/migration.sql @@ -0,0 +1,12 @@ +-- AlterEnum +-- This migration adds more than one value to an enum. +-- With PostgreSQL versions 11 and earlier, this is not possible +-- in a single migration. This can be worked around by creating +-- multiple migrations, each migration adding only one value to +-- the enum. + + +ALTER TYPE "HpgValidationState" ADD VALUE 'HPG_DISCONNECT'; +ALTER TYPE "HpgValidationState" ADD VALUE 'HPG_BUSY'; +ALTER TYPE "HpgValidationState" ADD VALUE 'HPG_INVALID_MISSION'; +ALTER TYPE "HpgValidationState" ADD VALUE 'POSITION_AMANDED'; diff --git a/packages/database/prisma/schema/migrations/20250521211633_/migration.sql b/packages/database/prisma/schema/migrations/20250521211633_/migration.sql new file mode 100644 index 00000000..98acd58a --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250521211633_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Mission" ADD COLUMN "addressAdditionalInfo" TEXT; diff --git a/packages/database/prisma/schema/migrations/20250523174103_/migration.sql b/packages/database/prisma/schema/migrations/20250523174103_/migration.sql new file mode 100644 index 00000000..4d17af58 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250523174103_/migration.sql @@ -0,0 +1,16 @@ +/* + Warnings: + + - The values [ready,arrived,onway] on the enum `HpgState` will be removed. If these variants are still used in the database, this will fail. + +*/ +-- AlterEnum +BEGIN; +CREATE TYPE "HpgState_new" AS ENUM ('NOT_REQUESTED', 'ON_SCENE', 'DISPATCHED'); +ALTER TABLE "Mission" ALTER COLUMN "hpgAmbulanceState" TYPE "HpgState_new" USING ("hpgAmbulanceState"::text::"HpgState_new"); +ALTER TABLE "Mission" ALTER COLUMN "hpgFireEngineState" TYPE "HpgState_new" USING ("hpgFireEngineState"::text::"HpgState_new"); +ALTER TABLE "Mission" ALTER COLUMN "hpgPoliceState" TYPE "HpgState_new" USING ("hpgPoliceState"::text::"HpgState_new"); +ALTER TYPE "HpgState" RENAME TO "HpgState_old"; +ALTER TYPE "HpgState_new" RENAME TO "HpgState"; +DROP TYPE "HpgState_old"; +COMMIT; diff --git a/packages/database/prisma/schema/migrations/20250523181744_mission_string/migration.sql b/packages/database/prisma/schema/migrations/20250523181744_mission_string/migration.sql new file mode 100644 index 00000000..dc9c37c4 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250523181744_mission_string/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Mission" ADD COLUMN "hpgMSelectedMissionString" TEXT; diff --git a/packages/database/prisma/schema/migrations/20250523190214_/migration.sql b/packages/database/prisma/schema/migrations/20250523190214_/migration.sql new file mode 100644 index 00000000..567d028e --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250523190214_/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - You are about to drop the column `hpgMSelectedMissionString` on the `Mission` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Mission" DROP COLUMN "hpgMSelectedMissionString", +ADD COLUMN "hpgSelectedMissionString" TEXT DEFAULT '', +ALTER COLUMN "hpgMissionString" SET DEFAULT ''; diff --git a/packages/database/prisma/schema/migrations/20250523190359_/migration.sql b/packages/database/prisma/schema/migrations/20250523190359_/migration.sql new file mode 100644 index 00000000..72f10738 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250523190359_/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "Mission" ALTER COLUMN "hpgMissionString" DROP DEFAULT, +ALTER COLUMN "hpgSelectedMissionString" DROP DEFAULT; diff --git a/packages/database/prisma/schema/migrations/20250523204255_/migration.sql b/packages/database/prisma/schema/migrations/20250523204255_/migration.sql new file mode 100644 index 00000000..21addbb4 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250523204255_/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "settings_mic_device" TEXT, +ADD COLUMN "settings_mic_volume" INTEGER; diff --git a/packages/database/prisma/schema/migrations/20250530063931_email/migration.sql b/packages/database/prisma/schema/migrations/20250530063931_email/migration.sql new file mode 100644 index 00000000..926b62bd --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250530063931_email/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "email_verification_expires_at" TIMESTAMP(3), +ADD COLUMN "email_verification_token" TEXT; diff --git a/packages/database/prisma/schema/migrations/20250530065811_/migration.sql b/packages/database/prisma/schema/migrations/20250530065811_/migration.sql new file mode 100644 index 00000000..d24c8deb --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250530065811_/migration.sql @@ -0,0 +1,9 @@ +/* + Warnings: + + - You are about to drop the column `email_verified` on the `users` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "users" DROP COLUMN "email_verified", +ADD COLUMN "emailVerified" BOOLEAN DEFAULT false; diff --git a/packages/database/prisma/schema/migrations/20250530230033_dev/migration.sql b/packages/database/prisma/schema/migrations/20250530230033_dev/migration.sql new file mode 100644 index 00000000..b1d51d72 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250530230033_dev/migration.sql @@ -0,0 +1,9 @@ +/* + Warnings: + + - Made the column `emailVerified` on table `users` required. This step will fail if there are existing NULL values in that column. + +*/ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "settings_hide_lastname" BOOLEAN NOT NULL DEFAULT false, +ALTER COLUMN "emailVerified" SET NOT NULL; diff --git a/packages/database/prisma/schema/migrations/20250531024711_/migration.sql b/packages/database/prisma/schema/migrations/20250531024711_/migration.sql new file mode 100644 index 00000000..641c7f97 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250531024711_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Mission" ADD COLUMN "addressMissionLocation" TEXT; diff --git a/packages/database/prisma/schema/migrations/20250531051750_/migration.sql b/packages/database/prisma/schema/migrations/20250531051750_/migration.sql new file mode 100644 index 00000000..896eaee6 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250531051750_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "ConnectedDispatcher" ADD COLUMN "zone" TEXT NOT NULL DEFAULT 'LST_1'; diff --git a/packages/database/prisma/schema/migrations/20250601200430_/migration.sql b/packages/database/prisma/schema/migrations/20250601200430_/migration.sql new file mode 100644 index 00000000..5abc1e7d --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250601200430_/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "Mission" ALTER COLUMN "addressAdditionalInfo" SET DEFAULT '', +ALTER COLUMN "addressMissionLocation" SET DEFAULT ''; diff --git a/packages/database/prisma/schema/migrations/20250601200658_/migration.sql b/packages/database/prisma/schema/migrations/20250601200658_/migration.sql new file mode 100644 index 00000000..fe654547 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250601200658_/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - Made the column `missionKeywordCategory` on table `Mission` required. This step will fail if there are existing NULL values in that column. + +*/ +-- AlterTable +ALTER TABLE "Mission" ALTER COLUMN "missionKeywordCategory" SET NOT NULL; diff --git a/packages/database/prisma/schema/migrations/20250601202459_/migration.sql b/packages/database/prisma/schema/migrations/20250601202459_/migration.sql new file mode 100644 index 00000000..8ccd27b9 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250601202459_/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - Made the column `missionKeywordName` on table `Mission` required. This step will fail if there are existing NULL values in that column. + - Made the column `missionKeywordAbbreviation` on table `Mission` required. This step will fail if there are existing NULL values in that column. + +*/ +-- AlterTable +ALTER TABLE "Mission" ALTER COLUMN "missionKeywordName" SET NOT NULL, +ALTER COLUMN "missionKeywordAbbreviation" SET NOT NULL; diff --git a/packages/database/prisma/schema/migrations/20250601235840_/migration.sql b/packages/database/prisma/schema/migrations/20250601235840_/migration.sql new file mode 100644 index 00000000..607b5bc9 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250601235840_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "settings_dme_volume" INTEGER; diff --git a/packages/database/prisma/schema/migrations/20250602191227_dev/migration.sql b/packages/database/prisma/schema/migrations/20250602191227_dev/migration.sql new file mode 100644 index 00000000..b66d298a --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250602191227_dev/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "PERMISSION" ADD VALUE 'ADMIN_MESSAGE'; diff --git a/packages/database/prisma/schema/migrations/20250602191718_/migration.sql b/packages/database/prisma/schema/migrations/20250602191718_/migration.sql new file mode 100644 index 00000000..9377c936 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250602191718_/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "users" ALTER COLUMN "settings_mic_volume" SET DATA TYPE DOUBLE PRECISION, +ALTER COLUMN "settings_dme_volume" SET DATA TYPE DOUBLE PRECISION; diff --git a/packages/database/prisma/schema/migrations/20250603225416_/migration.sql b/packages/database/prisma/schema/migrations/20250603225416_/migration.sql new file mode 100644 index 00000000..7b4a7c4a --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250603225416_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "settings_funk_volume" DOUBLE PRECISION; diff --git a/packages/database/prisma/schema/migrations/20250604182531_/migration.sql b/packages/database/prisma/schema/migrations/20250604182531_/migration.sql new file mode 100644 index 00000000..64e49a45 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250604182531_/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "PERMISSION" ADD VALUE 'ADMIN_KICK'; diff --git a/packages/database/prisma/schema/migrations/20250605074434_/migration.sql b/packages/database/prisma/schema/migrations/20250605074434_/migration.sql new file mode 100644 index 00000000..ef18922c --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250605074434_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Participant" ADD COLUMN "inscriptionWorkflowCompleted" BOOLEAN NOT NULL DEFAULT false; diff --git a/packages/database/prisma/schema/migrations/20250606215936_event/migration.sql b/packages/database/prisma/schema/migrations/20250606215936_event/migration.sql new file mode 100644 index 00000000..83196bcd --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250606215936_event/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - You are about to drop the column `completetionWorkflowFinished` on the `Participant` table. All the data in the column will be lost. + - You are about to drop the column `inscriptionWorkflowCompleted` on the `Participant` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Participant" DROP COLUMN "completetionWorkflowFinished", +DROP COLUMN "inscriptionWorkflowCompleted"; diff --git a/packages/database/prisma/schema/migrations/20250614050438_/migration.sql b/packages/database/prisma/schema/migrations/20250614050438_/migration.sql new file mode 100644 index 00000000..e71c7ad1 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250614050438_/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - Added the required column `reportedUserRole` to the `Report` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "Report" ADD COLUMN "reportedUserRole" TEXT NOT NULL; diff --git a/packages/database/prisma/schema/migrations/20250614072606_/migration.sql b/packages/database/prisma/schema/migrations/20250614072606_/migration.sql new file mode 100644 index 00000000..e8f46df6 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250614072606_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Report" ALTER COLUMN "reportedUserRole" SET DEFAULT 'KP'; diff --git a/packages/database/prisma/schema/migrations/20250618042004_dev/migration.sql b/packages/database/prisma/schema/migrations/20250618042004_dev/migration.sql new file mode 100644 index 00000000..53df83d5 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250618042004_dev/migration.sql @@ -0,0 +1,9 @@ +/* + Warnings: + + - You are about to drop the column `addressMissionLocation` on the `Mission` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Mission" DROP COLUMN "addressMissionLocation", +ADD COLUMN "addressMissionDestination" TEXT DEFAULT ''; diff --git a/packages/database/prisma/schema/migrations/20250619172335_penalty/migration.sql b/packages/database/prisma/schema/migrations/20250619172335_penalty/migration.sql new file mode 100644 index 00000000..438d041c --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250619172335_penalty/migration.sql @@ -0,0 +1,28 @@ +-- CreateEnum +CREATE TYPE "PenaltyType" AS ENUM ('KICK', 'TIME_BAN', 'BAN'); + +-- AlterTable +ALTER TABLE "Report" ADD COLUMN "penaltyId" INTEGER; + +-- CreateTable +CREATE TABLE "Penalty" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "createdUserId" TEXT NOT NULL, + "type" "PenaltyType" NOT NULL, + "reason" TEXT NOT NULL, + "until" TIMESTAMP(3), + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Penalty_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "Penalty" ADD CONSTRAINT "Penalty_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Penalty" ADD CONSTRAINT "Penalty_createdUserId_fkey" FOREIGN KEY ("createdUserId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_penaltyId_fkey" FOREIGN KEY ("penaltyId") REFERENCES "Penalty"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250622030241_penalty/migration.sql b/packages/database/prisma/schema/migrations/20250622030241_penalty/migration.sql new file mode 100644 index 00000000..bea83951 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250622030241_penalty/migration.sql @@ -0,0 +1,11 @@ +/* + Warnings: + + - You are about to drop the column `createdAt` on the `Penalty` table. All the data in the column will be lost. + - You are about to drop the column `updatedAt` on the `Penalty` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Penalty" DROP COLUMN "createdAt", +DROP COLUMN "updatedAt", +ADD COLUMN "timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP; diff --git a/packages/database/prisma/schema/migrations/20250624012915_/migration.sql b/packages/database/prisma/schema/migrations/20250624012915_/migration.sql new file mode 100644 index 00000000..ea00b040 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250624012915_/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Penalty" ADD COLUMN "suspended" BOOLEAN NOT NULL DEFAULT false; diff --git a/packages/database/prisma/schema/migrations/20250624014607_/migration.sql b/packages/database/prisma/schema/migrations/20250624014607_/migration.sql new file mode 100644 index 00000000..85312b11 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250624014607_/migration.sql @@ -0,0 +1,17 @@ +/* + Warnings: + + - You are about to drop the column `penaltyId` on the `Report` table. All the data in the column will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "Report" DROP CONSTRAINT "Report_penaltyId_fkey"; + +-- AlterTable +ALTER TABLE "Penalty" ADD COLUMN "reportId" INTEGER; + +-- AlterTable +ALTER TABLE "Report" DROP COLUMN "penaltyId"; + +-- AddForeignKey +ALTER TABLE "Penalty" ADD CONSTRAINT "Penalty_reportId_fkey" FOREIGN KEY ("reportId") REFERENCES "Report"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250624053127_/migration.sql b/packages/database/prisma/schema/migrations/20250624053127_/migration.sql new file mode 100644 index 00000000..f0ce2e56 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250624053127_/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "PenaltyType" ADD VALUE 'PERMISSIONS_REVOCED'; diff --git a/packages/database/prisma/schema/migrations/20250625030940_/migration.sql b/packages/database/prisma/schema/migrations/20250625030940_/migration.sql new file mode 100644 index 00000000..4131ab85 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250625030940_/migration.sql @@ -0,0 +1,4 @@ +-- AlterTable +ALTER TABLE "Mission" ALTER COLUMN "hpgAmbulanceState" SET DEFAULT 'NOT_REQUESTED', +ALTER COLUMN "hpgFireEngineState" SET DEFAULT 'NOT_REQUESTED', +ALTER COLUMN "hpgPoliceState" SET DEFAULT 'NOT_REQUESTED'; diff --git a/packages/database/prisma/schema/migrations/20250625235318_added_cascade_delete_for_user/migration.sql b/packages/database/prisma/schema/migrations/20250625235318_added_cascade_delete_for_user/migration.sql new file mode 100644 index 00000000..f166cb04 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250625235318_added_cascade_delete_for_user/migration.sql @@ -0,0 +1,103 @@ +/* + Warnings: + + - You are about to drop the `accounts` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `sessions` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `verification_requests` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "ChatMessage" DROP CONSTRAINT "ChatMessage_receiverId_fkey"; + +-- DropForeignKey +ALTER TABLE "ChatMessage" DROP CONSTRAINT "ChatMessage_senderId_fkey"; + +-- DropForeignKey +ALTER TABLE "ConnectedAircraft" DROP CONSTRAINT "ConnectedAircraft_stationId_fkey"; + +-- DropForeignKey +ALTER TABLE "ConnectedAircraft" DROP CONSTRAINT "ConnectedAircraft_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "ConnectedDispatcher" DROP CONSTRAINT "ConnectedDispatcher_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "Mission" DROP CONSTRAINT "Mission_createdUserId_fkey"; + +-- DropForeignKey +ALTER TABLE "Participant" DROP CONSTRAINT "Participant_user_id_fkey"; + +-- DropForeignKey +ALTER TABLE "Penalty" DROP CONSTRAINT "Penalty_createdUserId_fkey"; + +-- DropForeignKey +ALTER TABLE "Penalty" DROP CONSTRAINT "Penalty_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "PositionLog" DROP CONSTRAINT "PositionLog_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "Report" DROP CONSTRAINT "Report_reportedUserId_fkey"; + +-- DropForeignKey +ALTER TABLE "Report" DROP CONSTRAINT "Report_senderUserId_fkey"; + +-- DropForeignKey +ALTER TABLE "oauth_tokens" DROP CONSTRAINT "oauth_tokens_user_id_fkey"; + +-- AlterTable +ALTER TABLE "Mission" ALTER COLUMN "createdUserId" DROP NOT NULL; + +-- AlterTable +ALTER TABLE "Penalty" ALTER COLUMN "createdUserId" DROP NOT NULL; + +-- AlterTable +ALTER TABLE "Report" ALTER COLUMN "senderUserId" DROP NOT NULL; + +-- DropTable +DROP TABLE "accounts"; + +-- DropTable +DROP TABLE "sessions"; + +-- DropTable +DROP TABLE "verification_requests"; + +-- AddForeignKey +ALTER TABLE "oauth_tokens" ADD CONSTRAINT "oauth_tokens_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ChatMessage" ADD CONSTRAINT "ChatMessage_senderId_fkey" FOREIGN KEY ("senderId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ChatMessage" ADD CONSTRAINT "ChatMessage_receiverId_fkey" FOREIGN KEY ("receiverId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ConnectedAircraft" ADD CONSTRAINT "ConnectedAircraft_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ConnectedAircraft" ADD CONSTRAINT "ConnectedAircraft_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "Station"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ConnectedDispatcher" ADD CONSTRAINT "ConnectedDispatcher_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Participant" ADD CONSTRAINT "Participant_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Mission" ADD CONSTRAINT "Mission_createdUserId_fkey" FOREIGN KEY ("createdUserId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Penalty" ADD CONSTRAINT "Penalty_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Penalty" ADD CONSTRAINT "Penalty_createdUserId_fkey" FOREIGN KEY ("createdUserId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "PositionLog" ADD CONSTRAINT "PositionLog_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_senderUserId_fkey" FOREIGN KEY ("senderUserId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Report" ADD CONSTRAINT "Report_reportedUserId_fkey" FOREIGN KEY ("reportedUserId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250626002440_n/migration.sql b/packages/database/prisma/schema/migrations/20250626002440_n/migration.sql new file mode 100644 index 00000000..370a65c3 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626002440_n/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "PERMISSION" ADD VALUE 'ADMIN_USER_ADVANCED'; diff --git a/packages/database/prisma/schema/migrations/20250626030022_dev_revert/migration.sql b/packages/database/prisma/schema/migrations/20250626030022_dev_revert/migration.sql new file mode 100644 index 00000000..4db5e521 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626030022_dev_revert/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "pathSelected" BOOLEAN NOT NULL DEFAULT false; diff --git a/packages/database/prisma/schema/migrations/20250626030313_dev/migration.sql b/packages/database/prisma/schema/migrations/20250626030313_dev/migration.sql new file mode 100644 index 00000000..4e6ecd8a --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626030313_dev/migration.sql @@ -0,0 +1,5 @@ +-- DropForeignKey +ALTER TABLE "EventAppointment" DROP CONSTRAINT "EventAppointment_eventId_fkey"; + +-- AddForeignKey +ALTER TABLE "EventAppointment" ADD CONSTRAINT "EventAppointment_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250626030448_dev/migration.sql b/packages/database/prisma/schema/migrations/20250626030448_dev/migration.sql new file mode 100644 index 00000000..e848e06c --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626030448_dev/migration.sql @@ -0,0 +1,5 @@ +-- DropForeignKey +ALTER TABLE "Participant" DROP CONSTRAINT "Participant_eventId_fkey"; + +-- AddForeignKey +ALTER TABLE "Participant" ADD CONSTRAINT "Participant_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250626030728_dev/migration.sql b/packages/database/prisma/schema/migrations/20250626030728_dev/migration.sql new file mode 100644 index 00000000..cd1bcfac --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626030728_dev/migration.sql @@ -0,0 +1,16 @@ +/* + Warnings: + + - The values [OBLIGATED_COURSE] on the enum `EVENT_TYPE` will be removed. If these variants are still used in the database, this will fail. + +*/ +-- AlterEnum +BEGIN; +CREATE TYPE "EVENT_TYPE_new" AS ENUM ('COURSE', 'PILOT_STARTER', 'DISPATCH_STARTER', 'EVENT'); +ALTER TABLE "Event" ALTER COLUMN "type" DROP DEFAULT; +ALTER TABLE "Event" ALTER COLUMN "type" TYPE "EVENT_TYPE_new" USING ("type"::text::"EVENT_TYPE_new"); +ALTER TYPE "EVENT_TYPE" RENAME TO "EVENT_TYPE_old"; +ALTER TYPE "EVENT_TYPE_new" RENAME TO "EVENT_TYPE"; +DROP TYPE "EVENT_TYPE_old"; +ALTER TABLE "Event" ALTER COLUMN "type" SET DEFAULT 'EVENT'; +COMMIT; diff --git a/packages/database/prisma/schema/migrations/20250626065840_migrated_account/migration.sql b/packages/database/prisma/schema/migrations/20250626065840_migrated_account/migration.sql new file mode 100644 index 00000000..505ee6f7 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626065840_migrated_account/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "users" ADD COLUMN "migratedFromV1" BOOLEAN NOT NULL DEFAULT false; diff --git a/packages/database/prisma/schema/migrations/20250626071720_dev/migration.sql b/packages/database/prisma/schema/migrations/20250626071720_dev/migration.sql new file mode 100644 index 00000000..53063316 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626071720_dev/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "BADGES" ADD VALUE 'V1Veteran'; diff --git a/packages/database/prisma/schema/migrations/20250626072457_dev/migration.sql b/packages/database/prisma/schema/migrations/20250626072457_dev/migration.sql new file mode 100644 index 00000000..e222265f --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626072457_dev/migration.sql @@ -0,0 +1,17 @@ +-- DropForeignKey +ALTER TABLE "MissionOnStationUsers" DROP CONSTRAINT "MissionOnStationUsers_missionId_fkey"; + +-- DropForeignKey +ALTER TABLE "MissionOnStationUsers" DROP CONSTRAINT "MissionOnStationUsers_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "MissionsOnStations" DROP CONSTRAINT "MissionsOnStations_missionId_fkey"; + +-- AddForeignKey +ALTER TABLE "MissionOnStationUsers" ADD CONSTRAINT "MissionOnStationUsers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionOnStationUsers" ADD CONSTRAINT "MissionOnStationUsers_missionId_fkey" FOREIGN KEY ("missionId") REFERENCES "Mission"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "MissionsOnStations" ADD CONSTRAINT "MissionsOnStations_missionId_fkey" FOREIGN KEY ("missionId") REFERENCES "Mission"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250626073016_dev/migration.sql b/packages/database/prisma/schema/migrations/20250626073016_dev/migration.sql new file mode 100644 index 00000000..95e04f5f --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250626073016_dev/migration.sql @@ -0,0 +1,8 @@ +-- DropForeignKey +ALTER TABLE "discord_accounts" DROP CONSTRAINT "discord_accounts_user_id_fkey"; + +-- AlterTable +ALTER TABLE "discord_accounts" ALTER COLUMN "access_token" DROP NOT NULL; + +-- AddForeignKey +ALTER TABLE "discord_accounts" ADD CONSTRAINT "discord_accounts_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema/migrations/20250628014225_remove_audio_admin/migration.sql b/packages/database/prisma/schema/migrations/20250628014225_remove_audio_admin/migration.sql new file mode 100644 index 00000000..8b6e5c95 --- /dev/null +++ b/packages/database/prisma/schema/migrations/20250628014225_remove_audio_admin/migration.sql @@ -0,0 +1,23 @@ +-- AlterEnum +BEGIN; + +-- Entferne AUDIO_ADMIN aus allen betroffenen Feldern +UPDATE "users" +SET "permissions" = array_remove("permissions", 'AUDIO_ADMIN'::"PERMISSION") +WHERE 'AUDIO_ADMIN' = ANY("permissions"); + +UPDATE "Event" +SET "finishedPermissions" = array_remove("finishedPermissions", 'AUDIO_ADMIN'::"PERMISSION") +WHERE 'AUDIO_ADMIN' = ANY("finishedPermissions"); + +CREATE TYPE "PERMISSION_new" AS ENUM ('ADMIN_EVENT', 'ADMIN_USER', 'ADMIN_USER_ADVANCED', 'ADMIN_STATION', 'ADMIN_KEYWORD', 'ADMIN_MESSAGE', 'ADMIN_KICK', 'AUDIO', 'PILOT', 'DISPO'); +ALTER TABLE "Event" ALTER COLUMN "finishedPermissions" DROP DEFAULT; +ALTER TABLE "users" ALTER COLUMN "permissions" DROP DEFAULT; +ALTER TABLE "Event" ALTER COLUMN "finishedPermissions" TYPE "PERMISSION_new"[] USING ("finishedPermissions"::text::"PERMISSION_new"[]); +ALTER TABLE "users" ALTER COLUMN "permissions" TYPE "PERMISSION_new"[] USING ("permissions"::text::"PERMISSION_new"[]); +ALTER TYPE "PERMISSION" RENAME TO "PERMISSION_old"; +ALTER TYPE "PERMISSION_new" RENAME TO "PERMISSION"; +DROP TYPE "PERMISSION_old"; +ALTER TABLE "Event" ALTER COLUMN "finishedPermissions" SET DEFAULT ARRAY[]::"PERMISSION"[]; +ALTER TABLE "users" ALTER COLUMN "permissions" SET DEFAULT ARRAY[]::"PERMISSION"[]; +COMMIT; diff --git a/packages/database/prisma/schema/migrations/migration_lock.toml b/packages/database/prisma/schema/migrations/migration_lock.toml new file mode 100644 index 00000000..044d57cd --- /dev/null +++ b/packages/database/prisma/schema/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (e.g., Git) +provider = "postgresql"