Question

Comme un idiot, je complètement le réglage négligé fuseau horaire quand je construit une application qui collecte des données datetime.

Il était pas un problème alors parce que tout ce que je faisais était « temps » depuis des comparaisons de style et la commande. Maintenant, je dois faire des rapports complets qui montrent la datetime réelle et bien sûr, ils sont tous stockés en Amérique / Chicago (le défaut Django ridicule).

Alors oui. J'ai une base de données de taille moyenne complète de ces dates qui sont incorrectes. Je souhaite modifier settings.TIME_ZONE à 'UTC' mais qui ne contribue pas à mes données existantes.

Quel est le meilleur? (Lire: plus facile, plus rapide) façon de convertir toutes les données du modèle en masse

(Toutes les données sont à l'intérieur des deux derniers mois, donc il n'y a heureusement pas l'heure d'été à convertir)

Ce projet est actuellement sur SQLite, mais j'ai un autre projet sur PostgreSQL avec un problème similaire que je pourrais vouloir faire la même chose avant de l'heure d'été entre en jeu ... Donc, idéalement, une réponse DB agnostique.

Était-ce utile?

La solution

Je ferais une mise à jour de masse aux tables de base de données en ajoutant ou soustrayant heures / des champs datetime.

Quelque chose comme cela fonctionne dans SQL Server, et ajoute 2 heures à la date:

update tblName set date_field = dateadd("hh", 2, data_field)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top