Add PostgreSQL provider and EF Core 10 support

Introduce Jellyfin.Database.Providers.Postgres project, enabling PostgreSQL as a database backend using Entity Framework Core 10 and Npgsql. Add custom value converters and model builder extensions for PostgreSQL compatibility. Update solution-wide dependencies to Microsoft.EntityFrameworkCore 10.0.3 and Npgsql.EntityFrameworkCore.PostgreSQL 9.0.2 (as a temporary workaround until 10.x is released). Regenerate all relevant NuGet, build, and cache files. Add new and updated binaries, debug symbols, and XML documentation for affected projects. No application source code changes outside of the new provider and supporting infrastructure.
This commit is contained in:
2026-02-20 16:52:36 -05:00
parent ae274053a8
commit fd03e1f564
261 changed files with 1678 additions and 107 deletions
@@ -136,6 +136,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -156,6 +157,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -617,6 +619,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -637,6 +640,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -1093,6 +1097,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -1113,6 +1118,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -1731,6 +1737,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -1751,6 +1758,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -2210,6 +2218,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -2230,6 +2239,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -2696,6 +2706,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -2716,6 +2727,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -3326,6 +3338,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -3346,6 +3359,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -3539,6 +3553,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -3559,6 +3574,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -4025,6 +4041,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -4045,6 +4062,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -4503,6 +4521,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -4523,6 +4542,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -1843,6 +1843,7 @@
"Microsoft.CodeAnalysis.Common": "5.0.0",
"Microsoft.CodeAnalysis.CSharp": "5.0.0",
"Microsoft.Data.Sqlite": "10.0.3",
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.EntityFrameworkCore.Design": "10.0.3",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Microsoft.EntityFrameworkCore.Sqlite": "10.0.3",
@@ -1863,6 +1864,7 @@
"Morestachio": "5.0.1.631",
"NEbml": "1.1.0.5",
"Newtonsoft.Json": "13.0.4",
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.2",
"PlaylistsNET": "1.4.1",
"Polly": "8.6.5",
"prometheus-net": "8.2.1",
@@ -1,6 +1,6 @@
{
"version": 2,
"dgSpecHash": "rAgDA2kLFBE=",
"dgSpecHash": "OeiulE9ah7s=",
"success": true,
"projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.LocalMetadata\\MediaBrowser.LocalMetadata.csproj",
"expectedPackageFiles": [