Es sind vier Zeitzonen zu berücksichtigen:
Time.zone.now
usw. aus."ENV TZ Asia / Tokyo" wurde zur Unterstützung von "Dockerfile" hinzugefügt
Entsprechend durch Setzen von TZ = Asia / Tokyo
in der Umgebungsvariablen
config.time_zone
config/application.rb
config.time_zone = 'Tokyo'
config.active_record.default_timezone
config/application.rb
config.active_record.default_timezone = :local
DB Stellen Sie eine Verbindung zu jeder Datenbank der Entwicklungsumgebung und Produktionsumgebung her und führen Sie die folgende Abfrage aus
ALTER DATABASE db_name SET timezone TO 'Asia/Tokyo';
Da es sich um die Schreibmethode für Postgres handelt, kann die Schreibmethode je nach DB-Typ unterschiedlich sein. Dies wird angezeigt, wenn Sie die Verbindung zur Datenbank wiederherstellen. Durch Ausführen von "Rails: db: migrate" wird die Zeitzone wiederhergestellt. Dies ist jedoch in Ordnung, da Sie in erster Linie selten SQL-Anweisungen in Rails schreiben. Es scheint eine Möglichkeit zu geben, Umgebungsvariablen in docker-compose.yml festzulegen, aber es hat nicht funktioniert.
Recommended Posts