Erstellt Heroku pgbackups: restore die Datenbank neu oder füllt sie einfach neu?

8

Ich versuche, meine Produktionsdatenbank auf Heroku auf meinen Staging-Server zu kopieren.

Mein Staging-Server war meinem Produktionsserver mit einer Migration voraus, die eine zusätzliche Tabelle erstellt. Ich möchte jetzt die Migration trockenlegen, um diese Tabelle in der Produktionsdatenbank hinzuzufügen, und möchte daher die Datenbank meiner Staging-Datenbank wiederherstellen, um dies zu tun.

Das Problem ist, dass jedes Mal, wenn ich die Staging-Datenbank zu der Produktion ein restore der Tabelle bleibt. Ich habe erwartet, dass die Datenbank zerstört und neu bevölkert wird, aber sie scheint nur neu zu bevölkern.

%Vor%

Jedes Mal, wenn ich das tue, finde ich, dass die "neuere" Tabelle noch übrig ist.

Stellt pgbackups:restore tatsächlich die Tabellenstruktur oder einfach Daten wieder her - was geht hier vor?

    
Peter Nixey 05.02.2012, 19:49
quelle

2 Antworten

11

Eine Wiederherstellung ist eine einfache Postgres-Wiederherstellung, also im Wesentlichen eine gescriptete Version Ihrer Daten.

Um dies zu tun, müssen Sie zunächst Ihre Datenbank nuken und dann aus dem Datenbankskript neu erstellen:

%Vor%     
Neil Middleton 05.02.2012, 20:26
quelle
4

Wie neil sagte, verschiebt pgbackups: restore nur die Daten und ändert nicht die tatsächliche db-Struktur.

für die vollständige Wiederherstellung der Datenbank (ändern Sie App-Production, App-Staging und Migrationsnummer auf Ihre App):

Erhalte zuerst die aktuelle Migration von deiner Produktion.

%Vor%

Zurücksetzen Staging-Datenbank (natürlich, sichern Sie es bei Bedarf)

%Vor%

Führen Sie die Migrationen bis zur Migrationsnummer aus, um sie an die Produktions-DB-Struktur anzupassen

%Vor%

erfassen Sie die Produktions-App

%Vor%

push die Daten an die Staging-App

  

BEARBEITEN - falls Sie den Heroku-Werkzeuggürtel verwenden, das Syntaxmuster   hat sich von pgbackups:action_name zu pg:backups action_name

geändert
%Vor%

Die Staging-Datenbank sollte jetzt mit den Produktionsdaten und der Struktur übereinstimmen

%Vor%

hoffe das hilft.

    
nurinur 19.09.2013 21:44
quelle

Tags und Links