From 99ba8e4efcc771033a168ad5cdeb9a599f501575 Mon Sep 17 00:00:00 2001 From: datafoo <34766150+datafoo@users.noreply.github.com> Date: Tue, 5 Feb 2019 15:51:13 +0100 Subject: [PATCH] Use `timestamp with time zone` for timestamp fields in `projection_versions`. Fixes #20. --- CHANGELOG.md | 11 +++++++++++ lib/projections/ecto.ex | 2 +- .../20170609113553_create_projection_versions.exs | 2 +- ...29080308_create_projection_version_with_prefix.exs | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0b528c..a662e3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## Unreleased + +### Upgrading + +- Upgrade your existing `projection_versions` table by running: + + ```sql + ALTER TABLE projection_versions ALTER COLUMN inserted_at TYPE timestamp with time zone USING inserted_at AT TIME ZONE 'UTC'; + ALTER TABLE projection_versions ALTER COLUMN updated_at TYPE timestamp with time zone USING updated_at AT TIME ZONE 'UTC'; + ``` + ## 1.4.0 ### Enhancements diff --git a/lib/projections/ecto.ex b/lib/projections/ecto.ex index cf047a4..7e9800e 100644 --- a/lib/projections/ecto.ex +++ b/lib/projections/ecto.ex @@ -211,7 +211,7 @@ defmodule Commanded.Projections.Ecto do schema "projection_versions" do field(:last_seen_event_number, :integer) - timestamps(type: :naive_datetime_usec) + timestamps(type: :utc_datetime_usec) end end end diff --git a/priv/repo/migrations/20170609113553_create_projection_versions.exs b/priv/repo/migrations/20170609113553_create_projection_versions.exs index 328e258..b4491db 100644 --- a/priv/repo/migrations/20170609113553_create_projection_versions.exs +++ b/priv/repo/migrations/20170609113553_create_projection_versions.exs @@ -6,7 +6,7 @@ defmodule Commanded.Projections.Repo.Migrations.CreateProjectionVersions do add(:projection_name, :text, primary_key: true) add(:last_seen_event_number, :bigint) - timestamps(type: :naive_datetime_usec) + timestamps(type: :timestamptz) end end end diff --git a/priv/repo/migrations/20170929080308_create_projection_version_with_prefix.exs b/priv/repo/migrations/20170929080308_create_projection_version_with_prefix.exs index da2e2a3..57039ad 100644 --- a/priv/repo/migrations/20170929080308_create_projection_version_with_prefix.exs +++ b/priv/repo/migrations/20170929080308_create_projection_version_with_prefix.exs @@ -8,7 +8,7 @@ defmodule Commanded.Projections.Repo.Migrations.CreateProjectionVersionWithPrefi add(:projection_name, :text, primary_key: true) add(:last_seen_event_number, :bigint) - timestamps(type: :naive_datetime_usec) + timestamps(type: :timestamptz) end end