mirror of
https://github.com/Drop-OSS/drop.git
synced 2026-07-26 17:54:44 +10:00
Fix for undeleted games from library sources (#148)
* fix: casade delete for games and library sources * fix: add bug workaround * fix: lint
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
-- DropForeignKey
|
||||||
|
ALTER TABLE "Game" DROP CONSTRAINT "Game_libraryId_fkey";
|
||||||
|
|
||||||
|
-- DropIndex
|
||||||
|
DROP INDEX "GameTag_name_idx";
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "GameTag_name_idx" ON "GameTag" USING GIST ("name" gist_trgm_ops(siglen=32));
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Game" ADD CONSTRAINT "Game_libraryId_fkey" FOREIGN KEY ("libraryId") REFERENCES "Library"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
@@ -36,7 +36,7 @@ model Game {
|
|||||||
// These fields will not be optional in the next version
|
// These fields will not be optional in the next version
|
||||||
// Any game without a library ID will be assigned one at startup, based on the defaults
|
// Any game without a library ID will be assigned one at startup, based on the defaults
|
||||||
libraryId String?
|
libraryId String?
|
||||||
library Library? @relation(fields: [libraryId], references: [id])
|
library Library? @relation(fields: [libraryId], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
||||||
libraryPath String
|
libraryPath String
|
||||||
|
|
||||||
collections CollectionEntry[]
|
collections CollectionEntry[]
|
||||||
|
|||||||
@@ -61,6 +61,14 @@ export default defineNitroPlugin(async () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delete all games that don't have a library provider after the legacy handler
|
||||||
|
// (leftover from a bug)
|
||||||
|
await prisma.game.deleteMany({
|
||||||
|
where: {
|
||||||
|
libraryId: null,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
for (const library of libraries) {
|
for (const library of libraries) {
|
||||||
const constructor = libraryConstructors[library.backend];
|
const constructor = libraryConstructors[library.backend];
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user