Ein Blog

25 Artikel

Django: Daten aus Datenbank (als JSON) sichern (dump) und wieder laden (load)

Django bietet von Haus aus sehr viele Hilfsmittel für die schnelle und "einfache" Entwicklung von Webanwendungen. Innerhalb von Minuten kann man ein neues Projekt starten und über den integrierten Webserver sofort aufrufen.

Eine Sache, die zumindest im offiziellen Tutorial keine direkte Erwähnung findet, aber sehr wertvoll (auch gerade) in der frühen Entwicklungsphase ist, ist die Möglichkeit die Daten der Datenbank als JSON Datei zu sichern und in eine andere (neue) Datenbank wieder zu laden.

  1. "python manage.py dumbdata > dateiname.json" - sichert alle Daten aus der Datenbank der Django-Instanz als JSON in die genannte Datei.

  2. "python manage.py loaddata dateiname.json" - lädt die Daten der genannten JSON Datei die die Datenbank der aktuellen Django-Instanz

Dies lässt sich nicht nur wunderbar dafür nutzen "Zwischenstände" von Datenbankinhalten während der Entwicklung zu sichern. Um z.B. die Entwicklungsdatenbank einfach einmal neu aufsetzen zu können.

Das Ganze funktioniert dank des ORM Ansatzes von Django auch über verschiedene Datenbankimplementierungen hinweg (z.B. dbsqllite <--> postgresql). Somit könnte man z.B. nach einem frischen Deployment die Produktivdatenbank initial mit grundlegenden Daten füllen.

Natürlich müssen die Datenmodelle von Datei und Django-Instanz übereinstimmen. Aber der Befehl ist ja schnell ausgeführt und somit können Änderungen jederzeit neu gesichert werden.

mathiasmell 5. März 2019 10:23 Datenbank , postgres , django , dbsqllite

0 Kommentare

  • Bisher noch keine Kommentare zum Beitrag. Sei der Erste!