Railsでは、最初はactiverecord用に以下の設定があります。
config.active_record.default_timezone = :utc
ここで、ローカルタイムゾーンを使用したいので、次のように変更しました。
config.active_record.default_timezone = :local
問題は、date/datetime列の既存のすべてのデータをローカルタイムゾーンにシフトする必要があることです。これを達成するための最良の方法は何ですか?
これを行う必要があるのは、ローカルタイムゾーンで集計を行う必要があるためです。たとえば、:group =>'DATE(created_at)'、GROUP BY DATE(created_at)はUTCに基づいていますが、集計したいローカルタイムゾーンで1日。
特定の日時列を移行するための移行ファイルの作成方法を知っていました。しかし、そのようなコラムはたくさんあるので、私はより良い解決策を探しています。