Skip to content

Docs: Disable default conversion to `timestamptz` on pgloader

This MR is moved from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/32488

Followings are original description

What does this MR do?

pgloader default convert MySQL datetime column to PostgreSQL timestamptz column.

c.f. https://pgloader.readthedocs.io/en/latest/ref/mysql.html

type datetime to timestamptz

But this causes unexpected behavior in Rails.

I confirmed with the following version.

  • gitlab-ce 10.4.0 (rails 4.2.10)
  • pgloader 3.5.10
  • MySQL 5.5
  • PostgreSQL 10

Expected

Time.zone = "Tokyo"

Time.zone
# => #<ActiveSupport::TimeZone:0x00007f85f15a6710 @name="Tokyo", @utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Asia/Tokyo>>

Time.current
# => Mon, 29 Jul 2019 16:04:06 JST +09:00

BroadcastMessage
# => BroadcastMessage(id: integer, message: text, starts_at: datetime, ends_at: datetime, created_at: datetime, updated_at: datetime, color: string, font: string, message_html: text, cached_markdown_version: integer)

BroadcastMessage.first.starts_at
# => Wed, 24 Jul 2019 19:00:00 JST +09:00

BroadcastMessage.first.starts_at.class
# => ActiveSupport::TimeWithZone

Actual

Time.zone = "Tokyo"

Time.zone
# => #<ActiveSupport::TimeZone:0x00007f85f15a6710 @name="Tokyo", @utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Asia/Tokyo>>

Time.current
# => Mon, 29 Jul 2019 15:59:00 JST +09:00

BroadcastMessage
# => BroadcastMessage(id: integer, message: text, starts_at: datetime_with_timezone, ends_at: datetime_with_timezone, created_at: datetime_with_timezone, updated_at: datetime_with_timezone, color: string, font: string, message_html: text, cached_markdown_version: integer)

BroadcastMessage.first.starts_at
# => 2018-07-24 10:00:00 UTC

BroadcastMessage.first.starts_at.class
# => Time

Related issues

Nothing

Author's checklist

  • Follow the Documentation Guidelines and Style Guide.
  • Link docs to and from the higher-level index page, plus other related docs where helpful.
  • Apply the ~Documentation label.

Review checklist

All reviewers can help ensure accuracy, clarity, completeness, and adherence to the Documentation Guidelines and Style Guide.

1. Primary Reviewer

  • Review by a code reviewer or other selected colleague to confirm accuracy, clarity, and completeness. This can be skipped for minor fixes without substantive content changes.

2. Technical Writer

  • Optional: Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable DevOps stage.

3. Maintainer

  1. Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
  2. Ensure a release milestone is set and that you merge the equivalent EE MR before the CE MR if both exist.
  3. If there has not been a technical writer review, create an issue for one using the Doc Review template.

Merge request reports

Loading