Falls Sie keine Schemamigrationen haben, gebe ich Ihnen ein praktisches Szenario:
Behalten Sie zwei Versionen von Django-Prozessen ( A und B ), die Sie beispielsweise mit einem Supervisor steuern. Halten Sie einen nginx-Prozess vor Ihren Django-Prozessen, der alle Anfragen an A weiterleitet. Sie laden also Version B auf den Server hoch, starten den Django-Prozess B mit Supervisor, ändern dann die conf-Datei Ihrer nginx so, dass sie auf B zeigt, und laden dann Ihre nginx-Prozess..
Bei Schemamigrationen wird es kompliziert. Ihre Optionen umfassen:
- Sie könnten eine NoSQL-Lösung wie mongoDB verwenden (in diesem Fall können Sie eine einzelne DB-Instanz behalten).
- Finden Sie heraus, wie Sie alle Schreibanfragen während des Hochladens manuell aufzeichnen, um sie später in Ihre neue Datenbank zu verschieben.