diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 3a1c58275..3455fbe89 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -565,6 +565,7 @@ stages:
-e POSTGRES_PASSWORD=readarr \
-e POSTGRES_USER=readarr \
-p 5432:5432/tcp \
+ -v /usr/share/zoneinfo/America/Chicago:/etc/localtime:ro \
postgres:14
displayName: Start postgres
- bash: |
@@ -692,6 +693,7 @@ stages:
-e POSTGRES_PASSWORD=readarr \
-e POSTGRES_USER=readarr \
-p 5432:5432/tcp \
+ -v /usr/share/zoneinfo/America/Chicago:/etc/localtime:ro \
postgres:14
displayName: Start postgres
- bash: |
diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
index 3a8bacd87..a1829afd0 100644
--- a/src/Directory.Packages.props
+++ b/src/Directory.Packages.props
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/src/NuGet.config b/src/NuGet.config
index 6b4d0cb53..44ac030f4 100644
--- a/src/NuGet.config
+++ b/src/NuGet.config
@@ -7,6 +7,7 @@
+
@@ -25,5 +26,8 @@
+
+
+
diff --git a/src/NzbDrone.Core/Datastore/Migration/023_postgres_update_timestamp_columns_to_with_timezone.cs b/src/NzbDrone.Core/Datastore/Migration/023_postgres_update_timestamp_columns_to_with_timezone.cs
new file mode 100644
index 000000000..f53bbc379
--- /dev/null
+++ b/src/NzbDrone.Core/Datastore/Migration/023_postgres_update_timestamp_columns_to_with_timezone.cs
@@ -0,0 +1,58 @@
+using FluentMigrator;
+using NzbDrone.Core.Datastore.Migration.Framework;
+
+namespace NzbDrone.Core.Datastore.Migration
+{
+ [Migration(23)]
+ public class postgres_update_timestamp_columns_to_with_timezone : NzbDroneMigrationBase
+ {
+ protected override void MainDbUpgrade()
+ {
+ Alter.Table("Authors").AlterColumn("LastInfoSync").AsDateTimeOffset().Nullable();
+ Alter.Table("Authors").AlterColumn("Added").AsDateTimeOffset().Nullable();
+ Alter.Table("AuthorMetadata").AlterColumn("Born").AsDateTimeOffset().Nullable();
+ Alter.Table("AuthorMetadata").AlterColumn("Died").AsDateTimeOffset().Nullable();
+ Alter.Table("Blocklist").AlterColumn("Date").AsDateTimeOffset().NotNullable();
+ Alter.Table("Blocklist").AlterColumn("PublishedDate").AsDateTimeOffset().Nullable();
+ Alter.Table("Books").AlterColumn("ReleaseDate").AsDateTimeOffset().Nullable();
+ Alter.Table("Books").AlterColumn("LastInfoSync").AsDateTimeOffset().Nullable();
+ Alter.Table("Books").AlterColumn("Added").AsDateTimeOffset().Nullable();
+ Alter.Table("BookFiles").AlterColumn("DateAdded").AsDateTimeOffset().Nullable();
+ Alter.Table("BookFiles").AlterColumn("Modified").AsDateTimeOffset().Nullable();
+ Alter.Table("Commands").AlterColumn("QueuedAt").AsDateTimeOffset().NotNullable();
+ Alter.Table("Commands").AlterColumn("StartedAt").AsDateTimeOffset().Nullable();
+ Alter.Table("Commands").AlterColumn("EndedAt").AsDateTimeOffset().Nullable();
+ Alter.Table("DownloadClientStatus").AlterColumn("InitialFailure").AsDateTimeOffset().Nullable();
+ Alter.Table("DownloadClientStatus").AlterColumn("MostRecentFailure").AsDateTimeOffset().Nullable();
+ Alter.Table("DownloadClientStatus").AlterColumn("DisabledTill").AsDateTimeOffset().Nullable();
+ Alter.Table("Editions").AlterColumn("ReleaseDate").AsDateTimeOffset().Nullable();
+ Alter.Table("ExtraFiles").AlterColumn("Added").AsDateTimeOffset().NotNullable();
+ Alter.Table("ExtraFiles").AlterColumn("LastUpdated").AsDateTimeOffset().NotNullable();
+ Alter.Table("History").AlterColumn("Date").AsDateTimeOffset().NotNullable();
+ Alter.Table("ImportListStatus").AlterColumn("InitialFailure").AsDateTimeOffset().Nullable();
+ Alter.Table("ImportListStatus").AlterColumn("MostRecentFailure").AsDateTimeOffset().Nullable();
+ Alter.Table("ImportListStatus").AlterColumn("DisabledTill").AsDateTimeOffset().Nullable();
+ Alter.Table("IndexerStatus").AlterColumn("InitialFailure").AsDateTimeOffset().Nullable();
+ Alter.Table("IndexerStatus").AlterColumn("MostRecentFailure").AsDateTimeOffset().Nullable();
+ Alter.Table("IndexerStatus").AlterColumn("DisabledTill").AsDateTimeOffset().Nullable();
+ Alter.Table("MetadataFiles").AlterColumn("LastUpdated").AsDateTimeOffset().NotNullable();
+ Alter.Table("MetadataFiles").AlterColumn("Added").AsDateTimeOffset().Nullable();
+ Alter.Table("PendingReleases").AlterColumn("Added").AsDateTimeOffset().NotNullable();
+ Alter.Table("ScheduledTasks").AlterColumn("LastExecution").AsDateTimeOffset().NotNullable();
+ Alter.Table("ScheduledTasks").AlterColumn("LastStartTime").AsDateTimeOffset().Nullable();
+ Alter.Table("VersionInfo").AlterColumn("AppliedOn").AsDateTimeOffset().Nullable();
+ }
+
+ protected override void LogDbUpgrade()
+ {
+ Alter.Table("Logs").AlterColumn("Time").AsDateTimeOffset().NotNullable();
+ Alter.Table("VersionInfo").AlterColumn("AppliedOn").AsDateTimeOffset().Nullable();
+ }
+
+ protected override void CacheDbUpgrade()
+ {
+ Alter.Table("HttpResponse").AlterColumn("LastRefresh").AsDateTimeOffset().Nullable();
+ Alter.Table("HttpResponse").AlterColumn("Expiry").AsDateTimeOffset().Nullable();
+ }
+ }
+}
diff --git a/src/NzbDrone.Core/Readarr.Core.csproj b/src/NzbDrone.Core/Readarr.Core.csproj
index 57bbaaaf2..852c2eb24 100644
--- a/src/NzbDrone.Core/Readarr.Core.csproj
+++ b/src/NzbDrone.Core/Readarr.Core.csproj
@@ -12,9 +12,9 @@
-
-
-
+
+
+