mirror of
https://github.com/Drop-OSS/drop.git
synced 2026-07-24 17:03:00 +10:00
API optimisations (#343)
* feat: api optimisation * feat: emulator rename
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- The values [Executor,Redist] on the enum `GameType` will be removed. If these variants are still used in the database, this will fail.
|
||||
|
||||
*/
|
||||
-- AlterEnum
|
||||
BEGIN;
|
||||
CREATE TYPE "GameType_new" AS ENUM ('Game', 'Emulator', 'Dependency');
|
||||
ALTER TABLE "Game" ALTER COLUMN "type" DROP DEFAULT;
|
||||
ALTER TABLE "Game" ALTER COLUMN "type" TYPE "GameType_new" USING ("type"::text::"GameType_new");
|
||||
ALTER TYPE "GameType" RENAME TO "GameType_old";
|
||||
ALTER TYPE "GameType_new" RENAME TO "GameType";
|
||||
DROP TYPE "GameType_old";
|
||||
ALTER TABLE "Game" ALTER COLUMN "type" SET DEFAULT 'Game';
|
||||
COMMIT;
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "Game_mName_idx";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "LaunchConfiguration" ADD COLUMN "umuStoreOverride" TEXT;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Game_mName_idx" ON "Game" USING GIST ("mName" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `executorId` on the `LaunchConfiguration` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `executorSuggestions` on the `LaunchConfiguration` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "LaunchConfiguration" DROP CONSTRAINT "LaunchConfiguration_executorId_fkey";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "Game_mName_idx";
|
||||
|
||||
-- DropIndex
|
||||
DROP INDEX "GameTag_name_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "LaunchConfiguration" DROP COLUMN "executorId",
|
||||
DROP COLUMN "executorSuggestions",
|
||||
ADD COLUMN "emulatorId" TEXT,
|
||||
ADD COLUMN "emulatorSuggestions" TEXT[];
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Game_mName_idx" ON "Game" USING GIST ("mName" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "GameTag_name_idx" ON "GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "LaunchConfiguration" ADD CONSTRAINT "LaunchConfiguration_emulatorId_fkey" FOREIGN KEY ("emulatorId") REFERENCES "LaunchConfiguration"("launchId") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -10,8 +10,8 @@ enum MetadataSource {
|
||||
|
||||
enum GameType {
|
||||
Game
|
||||
Executor
|
||||
Redist
|
||||
Emulator
|
||||
Dependency
|
||||
}
|
||||
|
||||
model Game {
|
||||
@@ -149,16 +149,17 @@ model LaunchConfiguration {
|
||||
platform Platform
|
||||
|
||||
// For emulation targets
|
||||
executorId String?
|
||||
executor LaunchConfiguration? @relation(fields: [executorId], references: [launchId], name: "executor")
|
||||
executorSuggestions String[]
|
||||
emulatorId String?
|
||||
emulator LaunchConfiguration? @relation(fields: [emulatorId], references: [launchId], name: "emulator")
|
||||
emulatorSuggestions String[]
|
||||
|
||||
umuIdOverride String?
|
||||
umuIdOverride String?
|
||||
umuStoreOverride String?
|
||||
|
||||
versionId String
|
||||
gameVersion GameVersion @relation(fields: [versionId], references: [versionId], onDelete: Cascade, onUpdate: Cascade)
|
||||
|
||||
executions LaunchConfiguration[] @relation("executor")
|
||||
emulations LaunchConfiguration[] @relation("emulator")
|
||||
}
|
||||
|
||||
// A save slot for a game
|
||||
|
||||
Reference in New Issue
Block a user