Frage

Übersicht

Ich bin den Aufbau einer Website in django. Ich brauche, um Menschen zu erlauben zu beginnen Flatpages hinzufügen und einige Einstellungen im Admin eingestellt. Diese Änderungen sollten endgültig sein, da die Informationen vom Client kommen. Aber ich entwickle auch das Backend, und als solche sind die Schaffung und Migration von Tabellen. Ich schiebe diese Änderungen an der Nabe.

Werkzeuge

django

git

Süden

Postgres

Problem

Wie kann ich sicherstellen, dass ich die Datenbankänderungen aus der Online-Seite nach unten auf mich auf meiner lappy bekommen, und auch, wie kann ich schiebe meine Datenbank Änderungen an die Live-Website, so dass wir ein Minimum an Koordination benötigt, um ? Ich bin vertraut mit git Haken, so dass Option im Spiel ist.

Nachtrag:

Ich glaube, ich weiß, welche Tabellen können über das Admin geändert werden. Es sollte nicht viel Überlappung wirklich sein. Wie ich weiter zu prüfen, wirklich die Gefahr ist ich Daten drängt, die etwas überschreiben würden sie getan haben.

Danke.

War es hilfreich?

Lösung

Für Ihre Schemaänderungen auf den Server erhalten, verwenden Sie einfach Süd sorgfältig. Wenn Sie irgendeine Tabelle ändern könnten sie Daten in haben, stellen Sie sicher, dass Sie sowohl ein Schema Migration schreiben und als eine Datenmigration notwendig, den Sinn ihrer Daten zu erhalten.

Für ihre aktualisierten Daten immer wieder auf Sie (die nicht kritisch scheint, aber wäre schön, mit Testdaten up-to-date zu arbeiten, wie Sie entwickeln), ich Django im Allgemeinen nur Vorrichtungen verwenden und die DumpData und Loaddata-Befehle. Es ist einfach genug, um eine Befestigung zu entleeren und es zu einem Repo begehen, dann einen Loaddata auf Ihrer Seite.

Sie könnten versuchen, git Haken mit einigen, dies zu automatisieren, aber wenn Sie Automatisierung möchte ich empfehlen stattdessen etwas wie Stoff zu versuchen. Ein großer Teil dieser Sachen nicht jedes einzelne Mal, wenn Sie drücken / ziehen laufen werden muss (insbesondere, würde ich in der Regel nicht um eine neue Daten Befestigung dump möchten, dass häufig).

Andere Tipps

Sie sollten wahrscheinlich einen Blick auf Süd nehmen:

http://south.aeracode.org/

Es scheint mir, dass Sie wahrscheinlich einen git Haken schaffen könnten, den Süd löst aus, wenn Sie irgendeine Art von Continuous Integration System tun.

Ansonsten jedes Mal einen Push tun, werden Sie manuell die Migrationsschritte selbst ausführen müssen. Vergessen Sie nicht, die oben zu setzen „Website ist unter Wartung“ -Meldung. ;)

ich empfehlen, dass Sie mk-table-sync ziehen sich von Live-Server zu Ihrem Laptop. mk-table-Sync benötigt viele Parameter, so dass Sie diesen Prozess automatisieren, indem Sie Stoff . Sie würden im Grunde eine Gewebefunktion erstellen, die mk-table-Synchronisierung auf jeder Tablette, die Sie vom Server ziehen wollen ausführt.

Das bedeutet, dass man nicht dabatase ändert sich selbst machen, weil sie durch den Zug überschrieben.

Die einzigen Änderungen, die Sie an der Live-Datenbank machen würde verwenden Süden. Sie würden den Code auf den Server schieben und führen Sie dann migrate , um das Datenbankschema zu aktualisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top