mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-16 01:31:19 +10:00
feat: partial user platform support + statusMessage -> message
This commit is contained in:
@ -1,35 +0,0 @@
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "addon_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "game_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "mod_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "redist_link";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "public"."GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "public"."GameVersion" ADD COLUMN "setupArgs" TEXT NOT NULL DEFAULT '';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "public"."GameVersionLaunch" ADD COLUMN "launchArgs" TEXT NOT NULL DEFAULT '';
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "public"."GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "game_link" FOREIGN KEY ("rootId") REFERENCES "public"."Game"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "redist_link" FOREIGN KEY ("rootId") REFERENCES "public"."Redist"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "addon_link" FOREIGN KEY ("rootId") REFERENCES "public"."Addon"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "mod_link" FOREIGN KEY ("rootId") REFERENCES "public"."Mod"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -1,42 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `rootId` on the `Version` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "addon_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "game_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "mod_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "redist_link";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "public"."GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "public"."Version" DROP COLUMN "rootId",
|
||||
ADD COLUMN "addonId" TEXT,
|
||||
ADD COLUMN "gameId" TEXT,
|
||||
ADD COLUMN "modId" TEXT,
|
||||
ADD COLUMN "redistId" TEXT;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "public"."GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "game_link" FOREIGN KEY ("gameId") REFERENCES "public"."Game"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "redist_link" FOREIGN KEY ("redistId") REFERENCES "public"."Redist"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "addon_link" FOREIGN KEY ("addonId") REFERENCES "public"."Addon"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "mod_link" FOREIGN KEY ("modId") REFERENCES "public"."Mod"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -1,35 +0,0 @@
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."AddonVersion" DROP CONSTRAINT "AddonVersion_versionId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."GameVersion" DROP CONSTRAINT "GameVersion_versionId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."GameVersionLaunch" DROP CONSTRAINT "GameVersionLaunch_versionId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."ModVersion" DROP CONSTRAINT "ModVersion_versionId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."RedistVersion" DROP CONSTRAINT "RedistVersion_versionId_fkey";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "public"."GameTag_name_idx";
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "public"."GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."GameVersion" ADD CONSTRAINT "GameVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."GameVersionLaunch" ADD CONSTRAINT "GameVersionLaunch_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."GameVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."AddonVersion" ADD CONSTRAINT "AddonVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."RedistVersion" ADD CONSTRAINT "RedistVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."ModVersion" ADD CONSTRAINT "ModVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -1,8 +0,0 @@
|
||||
-- DropIndex
|
||||
DROP INDEX "public"."GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "public"."Library" ADD COLUMN "mode" "public"."LibraryMode" NOT NULL DEFAULT 'Game';
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "public"."GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
@ -1,99 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- The values [Addon] on the enum `LibraryMode` will be removed. If these variants are still used in the database, this will fail.
|
||||
- You are about to drop the column `addonId` on the `Version` table. All the data in the column will be lost.
|
||||
- You are about to drop the `Addon` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `AddonVersion` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `_AddonVersionToRedistVersion` table. If the table is not empty, all the data it contains will be lost.
|
||||
|
||||
*/
|
||||
-- AlterEnum
|
||||
BEGIN;
|
||||
CREATE TYPE "public"."LibraryMode_new" AS ENUM ('Game', 'Redist', 'DLC', 'Mod');
|
||||
ALTER TABLE "public"."Library" ALTER COLUMN "mode" DROP DEFAULT;
|
||||
ALTER TABLE "public"."Library" ALTER COLUMN "mode" TYPE "public"."LibraryMode_new" USING ("mode"::text::"public"."LibraryMode_new");
|
||||
ALTER TYPE "public"."LibraryMode" RENAME TO "LibraryMode_old";
|
||||
ALTER TYPE "public"."LibraryMode_new" RENAME TO "LibraryMode";
|
||||
DROP TYPE "public"."LibraryMode_old";
|
||||
ALTER TABLE "public"."Library" ALTER COLUMN "mode" SET DEFAULT 'Game';
|
||||
COMMIT;
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Addon" DROP CONSTRAINT "Addon_libraryId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."AddonVersion" DROP CONSTRAINT "AddonVersion_versionId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."Version" DROP CONSTRAINT "addon_link";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."_AddonVersionToRedistVersion" DROP CONSTRAINT "_AddonVersionToRedistVersion_A_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "public"."_AddonVersionToRedistVersion" DROP CONSTRAINT "_AddonVersionToRedistVersion_B_fkey";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "public"."GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "public"."Version" DROP COLUMN "addonId",
|
||||
ADD COLUMN "dlcId" TEXT;
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "public"."Addon";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "public"."AddonVersion";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "public"."_AddonVersionToRedistVersion";
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."DLCVersion" (
|
||||
"versionId" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "DLCVersion_pkey" PRIMARY KEY ("versionId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."DLC" (
|
||||
"id" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"iconObjectId" TEXT NOT NULL,
|
||||
"libraryId" TEXT NOT NULL,
|
||||
"libraryPath" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "DLC_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."_DLCVersionToRedistVersion" (
|
||||
"A" TEXT NOT NULL,
|
||||
"B" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "_DLCVersionToRedistVersion_AB_pkey" PRIMARY KEY ("A","B")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "_DLCVersionToRedistVersion_B_index" ON "public"."_DLCVersionToRedistVersion"("B");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "public"."GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "dlc_link" FOREIGN KEY ("dlcId") REFERENCES "public"."DLC"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."DLCVersion" ADD CONSTRAINT "DLCVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."DLC" ADD CONSTRAINT "DLC_libraryId_fkey" FOREIGN KEY ("libraryId") REFERENCES "public"."Library"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."_DLCVersionToRedistVersion" ADD CONSTRAINT "_DLCVersionToRedistVersion_A_fkey" FOREIGN KEY ("A") REFERENCES "public"."DLCVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."_DLCVersionToRedistVersion" ADD CONSTRAINT "_DLCVersionToRedistVersion_B_fkey" FOREIGN KEY ("B") REFERENCES "public"."RedistVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -1,8 +0,0 @@
|
||||
-- DropIndex
|
||||
DROP INDEX "GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "APIToken" ADD COLUMN "expiresAt" TIMESTAMP(3);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
@ -1,5 +0,0 @@
|
||||
-- DropIndex
|
||||
DROP INDEX "GameTag_name_idx";
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
@ -1,4 +1,4 @@
|
||||
-- Add pg_trgm
|
||||
-- enable pg_trgm
|
||||
CREATE EXTENSION pg_trgm;
|
||||
|
||||
-- CreateEnum
|
||||
@ -8,7 +8,7 @@ CREATE TYPE "public"."Platform" AS ENUM ('windows', 'linux', 'macos');
|
||||
CREATE TYPE "public"."LibraryBackend" AS ENUM ('Filesystem', 'FlatFilesystem');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "public"."LibraryMode" AS ENUM ('Game', 'Redist', 'Addon', 'Mod');
|
||||
CREATE TYPE "public"."LibraryMode" AS ENUM ('Game', 'Redist', 'DLC', 'Mod');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "public"."AuthMec" AS ENUM ('Simple', 'OpenID');
|
||||
@ -40,6 +40,7 @@ CREATE TABLE "public"."Library" (
|
||||
"name" TEXT NOT NULL,
|
||||
"backend" "public"."LibraryBackend" NOT NULL,
|
||||
"options" JSONB NOT NULL,
|
||||
"mode" "public"."LibraryMode" NOT NULL DEFAULT 'Game',
|
||||
|
||||
CONSTRAINT "Library_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@ -75,6 +76,7 @@ CREATE TABLE "public"."APIToken" (
|
||||
"userId" TEXT,
|
||||
"clientId" TEXT,
|
||||
"acls" TEXT[],
|
||||
"expiresAt" TIMESTAMP(3),
|
||||
|
||||
CONSTRAINT "APIToken_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@ -129,14 +131,28 @@ CREATE TABLE "public"."CollectionEntry" (
|
||||
CONSTRAINT "CollectionEntry_pkey" PRIMARY KEY ("collectionId","gameId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."UserPlatform" (
|
||||
"id" TEXT NOT NULL,
|
||||
"redistId" TEXT,
|
||||
"platformName" TEXT NOT NULL,
|
||||
"iconSvg" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "UserPlatform_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."Version" (
|
||||
"versionId" TEXT NOT NULL,
|
||||
"rootId" TEXT NOT NULL,
|
||||
"versionPath" TEXT NOT NULL,
|
||||
"versionName" TEXT NOT NULL,
|
||||
"created" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"platform" "public"."Platform" NOT NULL,
|
||||
"gameId" TEXT,
|
||||
"redistId" TEXT,
|
||||
"dlcId" TEXT,
|
||||
"modId" TEXT,
|
||||
"platform" "public"."Platform",
|
||||
"userPlatformRedistId" TEXT,
|
||||
"dropletManifest" JSONB NOT NULL,
|
||||
|
||||
CONSTRAINT "Version_pkey" PRIMARY KEY ("versionId")
|
||||
@ -145,31 +161,34 @@ CREATE TABLE "public"."Version" (
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."GameVersion" (
|
||||
"versionId" TEXT NOT NULL,
|
||||
"setup" TEXT NOT NULL DEFAULT '',
|
||||
"setupCommand" TEXT NOT NULL DEFAULT '',
|
||||
"setupArgs" TEXT NOT NULL DEFAULT '',
|
||||
"onlySetup" BOOLEAN NOT NULL DEFAULT false,
|
||||
"umuIdOverride" TEXT,
|
||||
"versionIndex" INTEGER NOT NULL,
|
||||
"delta" BOOLEAN NOT NULL DEFAULT false,
|
||||
"hidden" BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
CONSTRAINT "GameVersion_pkey" PRIMARY KEY ("versionId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."GameVersionLaunch" (
|
||||
CREATE TABLE "public"."LaunchOption" (
|
||||
"launchId" TEXT NOT NULL,
|
||||
"versionId" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"launchCommand" TEXT NOT NULL,
|
||||
"launchArgs" TEXT NOT NULL DEFAULT '',
|
||||
|
||||
CONSTRAINT "GameVersionLaunch_pkey" PRIMARY KEY ("launchId")
|
||||
CONSTRAINT "LaunchOption_pkey" PRIMARY KEY ("launchId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."AddonVersion" (
|
||||
CREATE TABLE "public"."DLCVersion" (
|
||||
"versionId" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "AddonVersion_pkey" PRIMARY KEY ("versionId")
|
||||
CONSTRAINT "DLCVersion_pkey" PRIMARY KEY ("versionId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
@ -255,7 +274,7 @@ CREATE TABLE "public"."Game" (
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."Addon" (
|
||||
CREATE TABLE "public"."DLC" (
|
||||
"id" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
@ -263,7 +282,7 @@ CREATE TABLE "public"."Addon" (
|
||||
"libraryId" TEXT NOT NULL,
|
||||
"libraryPath" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "Addon_pkey" PRIMARY KEY ("id")
|
||||
CONSTRAINT "DLC_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
@ -411,11 +430,11 @@ CREATE TABLE "public"."_GameVersionToRedistVersion" (
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "public"."_AddonVersionToRedistVersion" (
|
||||
CREATE TABLE "public"."_DLCVersionToRedistVersion" (
|
||||
"A" TEXT NOT NULL,
|
||||
"B" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "_AddonVersionToRedistVersion_AB_pkey" PRIMARY KEY ("A","B")
|
||||
CONSTRAINT "_DLCVersionToRedistVersion_AB_pkey" PRIMARY KEY ("A","B")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
@ -464,6 +483,9 @@ CREATE UNIQUE INDEX "APIToken_token_key" ON "public"."APIToken"("token");
|
||||
-- CreateIndex
|
||||
CREATE INDEX "APIToken_token_idx" ON "public"."APIToken"("token");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "UserPlatform_redistId_key" ON "public"."UserPlatform"("redistId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Version_versionId_key" ON "public"."Version"("versionId");
|
||||
|
||||
@ -510,7 +532,7 @@ CREATE UNIQUE INDEX "Notification_userId_nonce_key" ON "public"."Notification"("
|
||||
CREATE INDEX "_GameVersionToRedistVersion_B_index" ON "public"."_GameVersionToRedistVersion"("B");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "_AddonVersionToRedistVersion_B_index" ON "public"."_AddonVersionToRedistVersion"("B");
|
||||
CREATE INDEX "_DLCVersionToRedistVersion_B_index" ON "public"."_DLCVersionToRedistVersion"("B");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "_GameToGameTag_B_index" ON "public"."_GameToGameTag"("B");
|
||||
@ -552,31 +574,40 @@ ALTER TABLE "public"."CollectionEntry" ADD CONSTRAINT "CollectionEntry_collectio
|
||||
ALTER TABLE "public"."CollectionEntry" ADD CONSTRAINT "CollectionEntry_gameId_fkey" FOREIGN KEY ("gameId") REFERENCES "public"."Game"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "game_link" FOREIGN KEY ("rootId") REFERENCES "public"."Game"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."UserPlatform" ADD CONSTRAINT "UserPlatform_redistId_fkey" FOREIGN KEY ("redistId") REFERENCES "public"."Redist"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "redist_link" FOREIGN KEY ("rootId") REFERENCES "public"."Redist"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "game_link" FOREIGN KEY ("gameId") REFERENCES "public"."Game"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "addon_link" FOREIGN KEY ("rootId") REFERENCES "public"."Addon"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "redist_link" FOREIGN KEY ("redistId") REFERENCES "public"."Redist"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "mod_link" FOREIGN KEY ("rootId") REFERENCES "public"."Mod"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "dlc_link" FOREIGN KEY ("dlcId") REFERENCES "public"."DLC"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."GameVersion" ADD CONSTRAINT "GameVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "mod_link" FOREIGN KEY ("modId") REFERENCES "public"."Mod"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."GameVersionLaunch" ADD CONSTRAINT "GameVersionLaunch_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."GameVersion"("versionId") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."Version" ADD CONSTRAINT "Version_userPlatformRedistId_fkey" FOREIGN KEY ("userPlatformRedistId") REFERENCES "public"."UserPlatform"("redistId") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."AddonVersion" ADD CONSTRAINT "AddonVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."GameVersion" ADD CONSTRAINT "GameVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."RedistVersion" ADD CONSTRAINT "RedistVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."LaunchOption" ADD CONSTRAINT "gameVersion_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."GameVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."ModVersion" ADD CONSTRAINT "ModVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."LaunchOption" ADD CONSTRAINT "redistVersion_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."RedistVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."DLCVersion" ADD CONSTRAINT "DLCVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."RedistVersion" ADD CONSTRAINT "RedistVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."ModVersion" ADD CONSTRAINT "ModVersion_versionId_fkey" FOREIGN KEY ("versionId") REFERENCES "public"."Version"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."SaveSlot" ADD CONSTRAINT "SaveSlot_gameId_fkey" FOREIGN KEY ("gameId") REFERENCES "public"."Game"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -603,7 +634,7 @@ ALTER TABLE "public"."Playtime" ADD CONSTRAINT "Playtime_userId_fkey" FOREIGN KE
|
||||
ALTER TABLE "public"."Game" ADD CONSTRAINT "Game_libraryId_fkey" FOREIGN KEY ("libraryId") REFERENCES "public"."Library"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Addon" ADD CONSTRAINT "Addon_libraryId_fkey" FOREIGN KEY ("libraryId") REFERENCES "public"."Library"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."DLC" ADD CONSTRAINT "DLC_libraryId_fkey" FOREIGN KEY ("libraryId") REFERENCES "public"."Library"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."Redist" ADD CONSTRAINT "Redist_libraryId_fkey" FOREIGN KEY ("libraryId") REFERENCES "public"."Library"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -630,10 +661,10 @@ ALTER TABLE "public"."_GameVersionToRedistVersion" ADD CONSTRAINT "_GameVersionT
|
||||
ALTER TABLE "public"."_GameVersionToRedistVersion" ADD CONSTRAINT "_GameVersionToRedistVersion_B_fkey" FOREIGN KEY ("B") REFERENCES "public"."RedistVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."_AddonVersionToRedistVersion" ADD CONSTRAINT "_AddonVersionToRedistVersion_A_fkey" FOREIGN KEY ("A") REFERENCES "public"."AddonVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."_DLCVersionToRedistVersion" ADD CONSTRAINT "_DLCVersionToRedistVersion_A_fkey" FOREIGN KEY ("A") REFERENCES "public"."DLCVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."_AddonVersionToRedistVersion" ADD CONSTRAINT "_AddonVersionToRedistVersion_B_fkey" FOREIGN KEY ("B") REFERENCES "public"."RedistVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "public"."_DLCVersionToRedistVersion" ADD CONSTRAINT "_DLCVersionToRedistVersion_B_fkey" FOREIGN KEY ("B") REFERENCES "public"."RedistVersion"("versionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "public"."_GameToGameTag" ADD CONSTRAINT "_GameToGameTag_A_fkey" FOREIGN KEY ("A") REFERENCES "public"."Game"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@ -2,7 +2,7 @@
|
||||
DROP INDEX "public"."GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "public"."GameVersion" ADD COLUMN "hidden" BOOLEAN NOT NULL DEFAULT false;
|
||||
ALTER TABLE "public"."UserPlatform" ADD COLUMN "fileExtensions" TEXT[] DEFAULT ARRAY[]::TEXT[];
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "public"."GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
@ -1,3 +1,16 @@
|
||||
model UserPlatform {
|
||||
id String @id @default(uuid())
|
||||
|
||||
redistId String? @unique
|
||||
redist Redist? @relation(fields: [redistId], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
||||
|
||||
platformName String
|
||||
iconSvg String
|
||||
fileExtensions String[] @default([])
|
||||
|
||||
versions Version[]
|
||||
}
|
||||
|
||||
model Version {
|
||||
versionId String @id @unique @default(uuid())
|
||||
|
||||
@ -22,7 +35,11 @@ model Version {
|
||||
mod Mod? @relation(fields: [modId], references: [id], map: "mod_link", onDelete: Cascade, onUpdate: Cascade)
|
||||
modVersion ModVersion?
|
||||
|
||||
platform Platform
|
||||
platform Platform?
|
||||
|
||||
userPlatformRedistId String?
|
||||
userPlatform UserPlatform? @relation(fields: [userPlatformRedistId], references: [redistId])
|
||||
|
||||
dropletManifest Json // Results from droplet
|
||||
}
|
||||
|
||||
@ -32,11 +49,11 @@ model GameVersion {
|
||||
|
||||
redistDeps RedistVersion[]
|
||||
|
||||
launches GameVersionLaunch[]
|
||||
launches LaunchOption[]
|
||||
|
||||
setup String @default("") // Command to setup game (dependencies and such)
|
||||
setupArgs String @default("")
|
||||
onlySetup Boolean @default(false)
|
||||
setupCommand String @default("")
|
||||
setupArgs String @default("")
|
||||
onlySetup Boolean @default(false)
|
||||
|
||||
umuIdOverride String?
|
||||
|
||||
@ -45,11 +62,12 @@ model GameVersion {
|
||||
hidden Boolean @default(false)
|
||||
}
|
||||
|
||||
model GameVersionLaunch {
|
||||
model LaunchOption {
|
||||
launchId String @id @default(uuid())
|
||||
versionId String
|
||||
|
||||
gameVersion GameVersion @relation(fields: [versionId], references: [versionId], onDelete: Cascade, onUpdate: Cascade)
|
||||
gameVersion GameVersion? @relation(fields: [versionId], references: [versionId], onDelete: Cascade, onUpdate: Cascade, map: "gameVersion_fkey")
|
||||
redistVersion RedistVersion? @relation(fields: [versionId], references: [versionId], onDelete: Cascade, onUpdate: Cascade, map: "redistVersion_fkey")
|
||||
|
||||
name String
|
||||
description String
|
||||
@ -69,8 +87,10 @@ model RedistVersion {
|
||||
versionId String @id
|
||||
version Version @relation(fields: [versionId], references: [versionId], onDelete: Cascade, onUpdate: Cascade)
|
||||
|
||||
gameDependees GameVersion[]
|
||||
dlcDependees DLCVersion[]
|
||||
launches LaunchOption[]
|
||||
|
||||
gameDependees GameVersion[]
|
||||
dlcDependees DLCVersion[]
|
||||
}
|
||||
|
||||
model ModVersion {
|
||||
|
||||
@ -79,7 +79,8 @@ model Redist {
|
||||
library Library @relation(fields: [libraryId], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
||||
libraryPath String
|
||||
|
||||
versions Version[]
|
||||
versions Version[]
|
||||
platform UserPlatform?
|
||||
|
||||
@@unique([libraryId, libraryPath], name: "libraryKey")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user