Einfaches Zurücksetzen der Django PostgreSQL-Datenbank?

8

Ich konnte eine Django PostgreSQL-Datenbank mit den folgenden Schritten zurücksetzen:

  1. Migrationsdateien löschen
  2. Geben Sie die psql-Eingabeaufforderung ein. Stellen Sie eine Verbindung zur Datenbank her. Drop Schema öffentliche Kaskade; create schema public;
  3. Schritt 2 hat leider meine Benutzerrolle und meine Rechte entfernt, also bin ich zurück zum Befehl psql command gegangen und habe diese neu erstellt.
  4. Schritt 2 bedeutete auch, dass ich die folgenden Befehle in der psql-Eingabeaufforderung ausführen musste: Gewähre die Verwendung für das öffentliche Schema public; grant create für Schema public to public;
  5. Schritt 2 löschte auch die Standard-Django-Benutzer, die ich erstellt hatte, also musste ich diese neu erstellen
  6. python manage.py makemigrations & amp; & amp; python manage.py migrieren

Ich mache gerade Änderungen an meinen Modellen und teste jede Änderung. Ich habe keine Daten, die ich behalten muss. Gibt es einen einfacheren Weg als die obigen, um die Datenbank zurückzusetzen, wenn Migrationen nicht funktionieren?

Ich möchte zumindest Schritt 2 durch etwas anderes ersetzen, damit ich die Schritte 3-5 überspringen kann.

    
user1283776 03.01.2016, 11:28
quelle

2 Antworten

13

Wahrscheinlich ist dies der einfachste Weg, um die gesamte Datenbank neu zu erstellen. In Ubuntu sieht das so aus:

%Vor%

Das ist es. Sie haben eine saubere Datenbank. Um es betriebsbereit zu machen, müssen Sie Migrationen mit python manage.py migrate durchführen.

Wenn Sie nur an Ihrem Projekt arbeiten, können Sie Migrationen löschen und neu erstellen, wenn Sie möchten.

    
Igor Pomaranskiy 03.01.2016 11:34
quelle
0

Ich verstehe nicht, warum Sie die Migration oder die Datenbank löschen müssen. Der entscheidende Punkt von Migrationen ist, dass sie auf dem aufbauen, was vorher gegangen ist; Sie sollten niemals löschen und neu starten. Machen Sie einfach Makemigrationen jedes Mal, wenn Sie eine Änderung vornehmen, und die Reihe von Migrationen sollte immer funktionieren.

Später möchten Sie möglicherweise eine Gruppe von Migrationen in eine Gruppe aus Gründen der Geschwindigkeit zerquetschen, die wiederum nativ unterstützt wird. Löschen Sie niemals die Migrationen, die Sie bereits ausgeführt haben.

    
Daniel Roseman 03.01.2016 12:01
quelle

Tags und Links