Ich benutze den Edelstein yaml_db, um meine Postgres-Entwicklungsdatenbank in die Produktion zu exportieren, die sich auf einer virtuellen Maschine befindet, auf der sich meine Ruby on Rails-App befindet.Exportieren der Datenbank von der Entwicklung in die Produktion
Ich benutze rake db:data:dump RAILS_ENV=development
, um data.yml und rake db:data:load RAILS_ENV=production
zu erstellen, um die Daten zu importieren, aber ich bekomme Fehler beim Importieren.
rake aborted!
ActiveRecord::StatementInvalid: PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block
: DELETE FROM "improvement_actions"
PG::FeatureNotSupported: ERROR: cannot truncate a table referenced in a foreign key constraint
DETAIL: Table "comments" references "improvement_actions".
Weiß jemand, wie man das löst? Oder gibt es eine andere Methode, um meine Datenbank zu exportieren?
Ich habe gerade versucht mit Yaml, weil ich es auf einem Tutorial sah. Mit pg_dump und pg_restore, wie kann ich das zwischen meinem localhost und meiner virtuellen Maschine tun? – terrorista
Genaue Details hängen natürlich vom Host ab, aber im Allgemeinen würden Sie scp verwenden, um den Dump auf Ihre VM zu kopieren, ssh verwenden, um sich bei der VM anzumelden, und pg_restore dort ausführen. –
Wenn die von Ihrer VM verwendete Datenbank direkt von Ihrem Entwicklungscomputer aus zugänglich ist, können Sie pg_restore auf Ihrem Laptop ausführen und auf die VM-Datenbank verweisen. Diese Datenbank ist jedoch aus Sicherheitsgründen möglicherweise nicht von außen zugänglich. –