The source project of this merge request has been removed.
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
-
Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review. -
Ensure a release milestone is set and that you merge the equivalent EE MR before the CE MR if both exist. -
If there has not been a technical writer review, create an issue for one using the Doc Review template.