From 1b144922f679533a8ef66805546b9a8d0ac1fda7 Mon Sep 17 00:00:00 2001 From: Tuncay Cem Uzun Date: Wed, 29 Mar 2023 15:35:19 +0300 Subject: [PATCH] 'Cannot write DateTime with Kind=Local to PostgreSQL' error fix --- src/Skoruba.IdentityServer4.Admin.Api/Program.cs | 6 ++++++ src/Skoruba.IdentityServer4.Admin/Program.cs | 6 ++++++ src/Skoruba.IdentityServer4.STS.Identity/Program.cs | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/src/Skoruba.IdentityServer4.Admin.Api/Program.cs b/src/Skoruba.IdentityServer4.Admin.Api/Program.cs index 0fc24f3e6..e751604db 100644 --- a/src/Skoruba.IdentityServer4.Admin.Api/Program.cs +++ b/src/Skoruba.IdentityServer4.Admin.Api/Program.cs @@ -14,6 +14,12 @@ public static void Main(string[] args) { var configuration = GetConfiguration(args); + if (configuration.GetSection("DatabaseProviderConfiguration:ProviderType").Value == "PostgreSQL") + { + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true); + } + Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .CreateLogger(); diff --git a/src/Skoruba.IdentityServer4.Admin/Program.cs b/src/Skoruba.IdentityServer4.Admin/Program.cs index 8ff95e1ef..8737eb466 100644 --- a/src/Skoruba.IdentityServer4.Admin/Program.cs +++ b/src/Skoruba.IdentityServer4.Admin/Program.cs @@ -23,6 +23,12 @@ public static async Task Main(string[] args) { var configuration = GetConfiguration(args); + if (configuration.GetSection("DatabaseProviderConfiguration:ProviderType").Value == "PostgreSQL") + { + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true); + } + Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .CreateLogger(); diff --git a/src/Skoruba.IdentityServer4.STS.Identity/Program.cs b/src/Skoruba.IdentityServer4.STS.Identity/Program.cs index 2d1d501fb..2138ae331 100644 --- a/src/Skoruba.IdentityServer4.STS.Identity/Program.cs +++ b/src/Skoruba.IdentityServer4.STS.Identity/Program.cs @@ -14,6 +14,12 @@ public static void Main(string[] args) { var configuration = GetConfiguration(args); + if (configuration.GetSection("DatabaseProviderConfiguration:ProviderType").Value == "PostgreSQL") + { + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true); + } + Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .CreateLogger();