From 2d6e10e1630d2dee378202c664561d4cd8f2e4bb Mon Sep 17 00:00:00 2001 From: Wendell Jones Date: Sat, 7 Mar 2026 13:01:33 -0500 Subject: [PATCH] CRITICAL: Also disable EnsureCreatedAsync - it was bypassing migration tracking and creating schema --- .../scenarios/new-dotnet-version_02bc64/scenario.json | 2 +- sql/{ => diagnotics}/diagnostics.sql | 0 sql/{ => diagnotics}/monitor-query-performance.sql | 0 sql/{ => diagnotics}/query-analysis.sql | 0 sql/{ => indexes}/add-performance-indexes.sql | 0 sql/{ => indexes}/add_base_performance_indexes.sql | 0 sql/{ => indexes}/add_presentationuniquekey_index.sql | 0 sql/{ => indexes}/all_performance_indexes.sql | 0 .../apply-supplementary-indexes-migration.sql | 0 sql/{ => indexes}/performance_indexes.sql | 0 sql/{ => indexes}/performance_indexes_v2.sql | 0 .../PostgresDatabaseProvider.cs | 7 +++++-- 12 files changed, 6 insertions(+), 3 deletions(-) rename sql/{ => diagnotics}/diagnostics.sql (100%) rename sql/{ => diagnotics}/monitor-query-performance.sql (100%) rename sql/{ => diagnotics}/query-analysis.sql (100%) rename sql/{ => indexes}/add-performance-indexes.sql (100%) rename sql/{ => indexes}/add_base_performance_indexes.sql (100%) rename sql/{ => indexes}/add_presentationuniquekey_index.sql (100%) rename sql/{ => indexes}/all_performance_indexes.sql (100%) rename sql/{ => indexes}/apply-supplementary-indexes-migration.sql (100%) rename sql/{ => indexes}/performance_indexes.sql (100%) rename sql/{ => indexes}/performance_indexes_v2.sql (100%) diff --git a/.github/upgrades/scenarios/new-dotnet-version_02bc64/scenario.json b/.github/upgrades/scenarios/new-dotnet-version_02bc64/scenario.json index 8320ef54..5696c056 100644 --- a/.github/upgrades/scenarios/new-dotnet-version_02bc64/scenario.json +++ b/.github/upgrades/scenarios/new-dotnet-version_02bc64/scenario.json @@ -3,7 +3,7 @@ "operationId": "02bc6448-a69d-4ff4-a0ec-0db07ec3a09a", "description": "Upgrade solution or project to new version of .NET", "startTime": "2026-03-05T22:18:32.3921759Z", - "lastUpdateTime": "2026-03-07T17:48:10.3399967Z", + "lastUpdateTime": "2026-03-07T17:59:55.6322536Z", "stage": "Execution", "properties": {}, "folderPath": "" diff --git a/sql/diagnostics.sql b/sql/diagnotics/diagnostics.sql similarity index 100% rename from sql/diagnostics.sql rename to sql/diagnotics/diagnostics.sql diff --git a/sql/monitor-query-performance.sql b/sql/diagnotics/monitor-query-performance.sql similarity index 100% rename from sql/monitor-query-performance.sql rename to sql/diagnotics/monitor-query-performance.sql diff --git a/sql/query-analysis.sql b/sql/diagnotics/query-analysis.sql similarity index 100% rename from sql/query-analysis.sql rename to sql/diagnotics/query-analysis.sql diff --git a/sql/add-performance-indexes.sql b/sql/indexes/add-performance-indexes.sql similarity index 100% rename from sql/add-performance-indexes.sql rename to sql/indexes/add-performance-indexes.sql diff --git a/sql/add_base_performance_indexes.sql b/sql/indexes/add_base_performance_indexes.sql similarity index 100% rename from sql/add_base_performance_indexes.sql rename to sql/indexes/add_base_performance_indexes.sql diff --git a/sql/add_presentationuniquekey_index.sql b/sql/indexes/add_presentationuniquekey_index.sql similarity index 100% rename from sql/add_presentationuniquekey_index.sql rename to sql/indexes/add_presentationuniquekey_index.sql diff --git a/sql/all_performance_indexes.sql b/sql/indexes/all_performance_indexes.sql similarity index 100% rename from sql/all_performance_indexes.sql rename to sql/indexes/all_performance_indexes.sql diff --git a/sql/apply-supplementary-indexes-migration.sql b/sql/indexes/apply-supplementary-indexes-migration.sql similarity index 100% rename from sql/apply-supplementary-indexes-migration.sql rename to sql/indexes/apply-supplementary-indexes-migration.sql diff --git a/sql/performance_indexes.sql b/sql/indexes/performance_indexes.sql similarity index 100% rename from sql/performance_indexes.sql rename to sql/indexes/performance_indexes.sql diff --git a/sql/performance_indexes_v2.sql b/sql/indexes/performance_indexes_v2.sql similarity index 100% rename from sql/performance_indexes_v2.sql rename to sql/indexes/performance_indexes_v2.sql diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Postgres/PostgresDatabaseProvider.cs b/src/Jellyfin.Database/Jellyfin.Database.Providers.Postgres/PostgresDatabaseProvider.cs index 869cfdf8..66491de8 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Postgres/PostgresDatabaseProvider.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Postgres/PostgresDatabaseProvider.cs @@ -380,8 +380,11 @@ public sealed class PostgresDatabaseProvider : IJellyfinDatabaseProvider var context = await DbContextFactory!.CreateDbContextAsync(cancellationToken).ConfigureAwait(false); await using (context.ConfigureAwait(false)) { - // Ensure the migrations history table exists - await context.Database.EnsureCreatedAsync(cancellationToken).ConfigureAwait(false); + // DISABLED for .NET 11 preview: EnsureCreatedAsync bypasses migrations and creates schema directly + // This prevents proper migration tracking. Use manual SQL scripts instead. + // await context.Database.EnsureCreatedAsync(cancellationToken).ConfigureAwait(false); + + logger.LogInformation("Database schema creation disabled for .NET 11 preview. Database must be initialized using SQL scripts in sql/schema_init/ directory."); // Get applied migrations var appliedMigrations = await context.Database.GetAppliedMigrationsAsync(cancellationToken).ConfigureAwait(false);