2017-07-28 2 views
0

タイムスタンプの列 'submitted_on'にnow()という既定値が設定されています。 私はheroku TZを自分のゾーンに設定し、同じタイムゾーンでPHPユーザーiniを追加しました。TZを使用していないデータベースのタイムゾーン

ただし、データベースは引き続きUTCタイムゾーンを使用しています。私はこのSQLを実行したときにこれを参照してください: show timezone;

修正はありますか?それとも、これがヒロクのデータベースの仕組みですか?また私はフリーダイノスを使用しています。

答えて

1

TZ設定変数を設定するのは、データベースが別のマシン上にあるため、Dynos環境にのみ影響しますが、影響はありません。

一般に、サーバーのクロックをUTCで実行し、すべての時間をUTCで保存し、アプリケーションフレームワークでタイムゾーン/ロケールの変更を実行する必要があります。

+0

私は代わりに手動でタイムスタンプを含むようにコードを変更しました。これは単なるバニラのPHPアプリケーションです。 –

1

パラメータtimezoneは、データベースクラスタの作成時に決定されます。

postgresql.confの値を変更するか、ALTER SYSTEMをスーパーユーザーとして使用して値を変更することができます。

Herokuがこれらのオプションのいずれかを許可しているかどうかわかりません。

+0

私はそれを調べました。私はconfファイルを変更する方法を見つけることができませんでした。 –

+0

データベースクラスタを削除し、新しいシステムタイムゾーンで再作成できますか? –

関連する問題