Browse Source

Fix schema name on backup

JPVenson 1 month ago
parent
commit
91da1c035d

+ 2 - 1
Jellyfin.Server.Implementations/FullSystemBackup/BackupService.cs

@@ -297,7 +297,7 @@ public class BackupService : IBackupService
                     .GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)
                     .GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)
                     .Where(e => e.PropertyType.IsAssignableTo(typeof(IQueryable)))
                     .Where(e => e.PropertyType.IsAssignableTo(typeof(IQueryable)))
                     .Select(e => (Type: e.PropertyType, ValueFactory: new Func<IAsyncEnumerable<object>>(() => GetValues((IQueryable)e.GetValue(dbContext)!, e.PropertyType)))),
                     .Select(e => (Type: e.PropertyType, ValueFactory: new Func<IAsyncEnumerable<object>>(() => GetValues((IQueryable)e.GetValue(dbContext)!, e.PropertyType)))),
-                    (Type: typeof(HistoryRow), ValueFactory: new Func<IAsyncEnumerable<object>>(() => migrations.ToAsyncEnumerable()))
+                    (Type: typeof(IQueryable<HistoryRow>), ValueFactory: new Func<IAsyncEnumerable<object>>(() => migrations.ToAsyncEnumerable()))
                 ];
                 ];
                 manifest.DatabaseTables = entityTypes.Select(e => e.Type.Name).ToArray();
                 manifest.DatabaseTables = entityTypes.Select(e => e.Type.Name).ToArray();
                 var transaction = await dbContext.Database.BeginTransactionAsync().ConfigureAwait(false);
                 var transaction = await dbContext.Database.BeginTransactionAsync().ConfigureAwait(false);
@@ -308,6 +308,7 @@ public class BackupService : IBackupService
 
 
                     foreach (var entityType in entityTypes)
                     foreach (var entityType in entityTypes)
                     {
                     {
+                        var schemaName = dbContext.Model.FindEntityType(entityType.Type.GetGenericArguments()[0])!.GetSchemaQualifiedTableName()!;
                         _logger.LogInformation("Begin backup of entity {Table}", entityType.Type.Name);
                         _logger.LogInformation("Begin backup of entity {Table}", entityType.Type.Name);
                         var zipEntry = zipArchive.CreateEntry($"Database\\{entityType.Type.Name}.json");
                         var zipEntry = zipArchive.CreateEntry($"Database\\{entityType.Type.Name}.json");
                         var entities = 0;
                         var entities = 0;