mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	Add check to prevent downgrade from future EFCore refactor (#13103)
This commit is contained in:
		
							parent
							
								
									bfe0fdbcdc
								
							
						
					
					
						commit
						722cdcce5e
					
				@ -51,6 +51,8 @@ namespace Jellyfin.Server.Migrations
 | 
				
			|||||||
            typeof(Routines.RemoveDuplicatePlaylistChildren)
 | 
					            typeof(Routines.RemoveDuplicatePlaylistChildren)
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private static readonly Guid _downgradeCheckMigration = Guid.Parse("36445464-849f-429f-9ad0-bb130efa0664");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Run all needed migrations.
 | 
					        /// Run all needed migrations.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@ -88,6 +90,12 @@ namespace Jellyfin.Server.Migrations
 | 
				
			|||||||
                 ? (MigrationOptions)xmlSerializer.DeserializeFromFile(typeof(MigrationOptions), migrationConfigPath)!
 | 
					                 ? (MigrationOptions)xmlSerializer.DeserializeFromFile(typeof(MigrationOptions), migrationConfigPath)!
 | 
				
			||||||
                 : new MigrationOptions();
 | 
					                 : new MigrationOptions();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 10.10 specific EFCore migration check.
 | 
				
			||||||
 | 
					            if (migrationOptions.Applied.Any(f => f.Id.Equals(_downgradeCheckMigration)))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                throw new InvalidOperationException("You cannot downgrade your jellyfin install from the library.db migration.");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // We have to deserialize it manually since the configuration manager may overwrite it
 | 
					            // We have to deserialize it manually since the configuration manager may overwrite it
 | 
				
			||||||
            var serverConfig = File.Exists(appPaths.SystemConfigurationFilePath)
 | 
					            var serverConfig = File.Exists(appPaths.SystemConfigurationFilePath)
 | 
				
			||||||
                ? (ServerConfiguration)xmlSerializer.DeserializeFromFile(typeof(ServerConfiguration), appPaths.SystemConfigurationFilePath)!
 | 
					                ? (ServerConfiguration)xmlSerializer.DeserializeFromFile(typeof(ServerConfiguration), appPaths.SystemConfigurationFilePath)!
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user