expires_at is stored as a database datetime column
オープン
- 主要言語
- 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