Frage

Wie ein Idiot, ich die Zeitzone Einstellung völlig übersehen, wenn ich zum ersten Mal eine Anwendung gebaut, die Datetime-Daten speichert.

Es war kein Problem, dann, weil alles, was ich war tat „zeit da“ Stil Vergleiche und Bestellung. Jetzt brauche ich volle Berichte zu tun, dass die tatsächliche Datetime und natürlich zeigen, sie sind alle in Amerika / Chicago (der lächerlichen Django Standard) gespeichert.

Also ja. Ich habe eine mittelgroße Datenbank voll diese Daten bekommt, die nicht korrekt sind. Ich mag settings.TIME_ZONE ändern, aber das 'UTC' nicht meinen vorhandenen Daten helfen.

Was ist die beste? (Sprich: einfachste, schnellste) Art und Weise alles, was Modelldaten en masse zu konvertieren

(Alle Daten aus den vergangenen zwei Monaten, also gibt es zum Glück keine DST zu konvertieren)

Dieses Projekt befindet sich derzeit auf SQLite, aber ich habe ein anderes Projekt auf PostgreSQL mit einem ähnlichen Problem, das ich das gleiche auf tun möchten, bevor DST startet in ... also im Idealfall ein DB-agnostisch Antwort.

War es hilfreich?

Lösung

Ich würde eine Masse Aktualisierung der Datenbanktabellen tun durch Addieren oder Subtrahieren Stunden zu / von den Datetime-Feldern.

So etwas wie das funktioniert in SQL Server, und fügt 2 Stunden auf das Datum:

update tblName set date_field = dateadd("hh", 2, data_field)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top