Browse Source

Fixes FK on unconnected base items (#14863)

JPVenson 2 weeks ago
parent
commit
1736a566cc

+ 22 - 0
src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20250913211637_AddProperParentChildRelationBaseItemWithCascade.cs

@@ -10,6 +10,28 @@ namespace Jellyfin.Server.Implementations.Migrations
         /// <inheritdoc />
         protected override void Up(MigrationBuilder migrationBuilder)
         {
+            migrationBuilder.Sql("""
+DELETE FROM BaseItems
+        WHERE
+        ParentId IS NOT NULL
+        AND
+        NOT EXISTS(SELECT 1 FROM BaseItems parent WHERE ParentId = parent.Id);
+DELETE FROM BaseItems
+        WHERE
+        ParentId IS NOT NULL
+        AND
+        NOT EXISTS(SELECT 1 FROM BaseItems parent WHERE ParentId = parent.Id);
+DELETE FROM BaseItems
+        WHERE
+        ParentId IS NOT NULL
+        AND
+        NOT EXISTS(SELECT 1 FROM BaseItems parent WHERE ParentId = parent.Id);
+DELETE FROM BaseItems
+        WHERE
+        ParentId IS NOT NULL
+        AND
+        NOT EXISTS(SELECT 1 FROM BaseItems parent WHERE ParentId = parent.Id);
+""");
             migrationBuilder.AddForeignKey(
                 name: "FK_BaseItems_BaseItems_ParentId",
                 table: "BaseItems",