Ich konnte meine Ruby on Rails-Anwendung mit MySQL (local dev) auf den Heroku-Server übertragen und mein Modell mit dem folgenden Befehl migrieren heroku rake db:migrate
. Ich habe auch die Dokumentation zu folgenden Themen gelesen Datenbank Import/Export . Bezieht sich dieses Dokument auf das Pushen von Daten aus meiner lokalen Entwicklungs-DB in die DB von Heroku? Muss ich etwas in der Datei ändern database.yml
um sie zu verwirklichen?
Ich habe den folgenden Befehl ausgeführt:
heroku db:push
und ich erhalte die Fehlermeldung:
Sending data
2 tables, 3 records
!!! Caught Server Exception | ETA: --:--:--
Taps Server Error: PGError ERROR: duplicate key value violates unique constraint
"unique_schema_migrations"
Ich habe 2 Tabellen, eine erstelle ich für meine Anwendung und die andere schema_migrations
. Die Gesamtzahl der Einträge in den beiden Tabellen beträgt 3. Ich drucke auch die Anzahl der Einträge in der von mir erstellten Tabelle aus, und es wird 0 angezeigt.
Haben Sie eine Idee, was ich übersehen haben könnte oder was ich falsch mache?
EDIT: Ich habe herausgefunden, die oben, Heroku's DB haben bereits schema_migrations
in dem Moment, in dem ich migrate ausgeführt habe.
Neue Frage: Weiß jemand, wie ich Daten aus einer bestimmten Tabelle davon ausschließen kann, dass sie an Heroku DB übertragen werden. Die auszuschließende Tabelle ist in diesem Fall schema_migrations
.
Nicht so gute Lösung : Ich habe gegoogelt, und jemand anderes hatte das gleiche Problem. Er schlug vor, den Namen des schema_migrations
Tabelle zu zschema_migrations
. Auf diese Weise werden die Daten aus den anderen Tabellen ordnungsgemäß übertragen, bis es bei der letzten Tabelle fehlschlägt. Es ist eine ziemlich schlechte Lösung, aber für den Moment wird es reichen.
Eine bessere Lösung wäre es, einen bestehenden Rails-Befehl zu verwenden, der eine bestimmte Tabelle aus einer Datenbank zurücksetzen kann. Ich glaube nicht, dass Rake
kann das tun.