2017-01-03 1 views
0

Ich habe festgestellt, dass es zwei Optionen für Heroku für eine Postgres-Datenbank in der Admin and Dashboard Area beim Besuch einer Datenbank-Instanz gibt.Unterschied zwischen 'Reset' und 'Zerstören' Datenbank auf Heroku mit Postgres?

1: Reset-Datenbank:

Heroku Armaturenbrett beschreibt diese Aktion als:

Setzen Sie die Datenbank in den ursprünglich bereitgestellten Zustand, alle Daten innerhalb sie zu löschen.

2: Zerstöre Datenbank:

Inneren

Zerstört die Datenbank und alle Daten:

Heroku Armaturenbrett diese Aktion als beschrieben.

Das gesagt, es ist immer noch etwas offen für die Interpretation der Unterschiede hinter den Kulissen dieser beiden Aktionen.

Ich habe mir die Hilfe von Heroku angeschaut, konnte aber nicht viel über die Unterschiede zwischen den Aktionen herausfinden.

Vielleicht würden einige Erkenntnisse über die Postgres-Aktionen in SQL-Begriffen usw., die von jeder Aktion erstellt werden, ein besseres Verständnis entwickeln?

Zusammengefasst, was sind die Hauptunterschiede zwischen diesen Aktionen?

Antwort

1

Die Erklärung von Heroku ist ziemlich klar, aber lassen Sie mich versuchen, das zu interpretieren. Der Hauptunterschied besteht darin, dass Reset die Datenbank beibehält, während Destroy die Datenbank entfernt.

Wenn Sie die Datenbank zerstören, ist die Instanz nicht mehr verfügbar. Sie verlieren die gesamte Datenbank und dies wirkt sich auch auf die Abrechnung und alle zugehörigen Apps aus.

Durch das Zurücksetzen wird lediglich der gesamte Inhalt gelöscht und die Datenbankressource bleibt verfügbar. Es ist wie ein "Start frisch" Knopf.

+0

Dank @simone. Es ist ziemlich klar, aber Sie haben auf jeden Fall einige der "Implikationen" von jeder der Aktionen geklärt. Würden Sie in "Rails" -Begriffen sagen, dass ** reset ** dem 'db: reset' entspricht, während ** destroy ** dem' db: drop' entspricht? – nickj

0

Zwischen den beiden gibt es mittlerweile wesentliche Unterschiede in der Datenbank.

  • RESET

Während die Reset-Leitung Ihre DB in den ursprünglichen oder frisch DB-Schema Zustand verwandeln wird, wo das Schema, indem Sie diese Aktion sauber ist.

Angenommen, Sie haben eine Anwendung, die Daten in einem anderen Modell hat Wenn Sie dies ausführen, erhalten Sie ein sauberes Schema für die gleiche Datenbank. So können Sie die Validierung für die Serverseiten fortsetzen.

  • DESTROY

für Live-Anwendung gefährlich zerstören, weil seine vollständig das Schema zerstören und zerstören auch die DB für die same.So Sie können nach der Ausführung es Ihre Schemastruktur zurück.

Angenommen, wenn Sie eine Anwendung haben, die das Schema hat, so wird es nichts davon behalten und das Schema zusammen mit der DB zerstören. Danach müssen Sie eine neue Datenbank für Ihre Anwendung erstellen.

In Bezug auf Rails es entspricht der db: reset und db: zerstören.

Verwandte Themen