github / github/github-ds

expires_at is stored as a database datetime column

オープン
#62 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Ruby
スター
700
フォーク
29
PR マージ指標
30日以内にマージされた PR はありません

説明

### Context
During the DST to standard time change, when the SQL server is running in a local time zone, records cannot be found when `expires_at` is set to 1 hour.

Given a PST time and a fallback to standard time at 2 AM, 1 hour from 1 AM, is going to be still 1 AM. The date s converted to the same date that was entered and few seconds after the record cannot be found again.

The `expires_at` column should be timezone agnostic, possible solution would be to store it as an integer (epoch time),

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

expires_at のモデルまたはスキーマ定義と ActiveRecord の datetime 変換から始め、その後、ローカルタイムゾーンの SQL server で DST fallback を再現します。完了の条件は、fallback の前後を通じて expiration を検索でき、タイムゾーンに依存しないストレージと回帰テストのカバレッジについて合意できていることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rails, ruby
領域
database
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。