Ich bin vollkommen einverstanden mit .dump
stattdessen ein json-Dump zu erzeugen. Aber nur aus Neugierde habe ich ein Skript geschrieben, um alle Modelle in json zu konvertieren.
Rails.application.eager_load! # To load all models app/models/**/*.rb
all_records = ActiveRecord::Base.descendants.map &:all
all_records.to_json
Aber es wird wahrscheinlich so lange dauern, in einer realen Umgebung mit vielen Datensätzen zu arbeiten.
Ein anderer Weg als Sqlite3 (was ich für diesen Fall empfehlen) ist nur eine Datei, kopieren Sie einfach die Datei db/development.sqlite3
-db/development.sqlite3.backup
. Wenn Sie es wiederherstellen möchten, kopieren Sie es einfach zurück cp -f db/development.sqlite3.backup db/development.sqlite3
. Denken Sie daran, dass die .dump
eine ASCII-Textdatei mit den Einfügungs- und Erstellungsanweisungen generiert. Sie können sie nicht in der Datenbank wiederherstellen, in die sie extrahiert wurde, da sie versuchen wird, die Datensätze zu duplizieren.
Warum nehmen Sie nicht einfach Db Dump? – kiddorails
Wie mache ich das? – Nayish
antwortete unten als Antwort – kiddorails