2016-05-17 3 views
0

Ich entwickle eine Website mit Heroku (Ruby on Rails). Ich benutze die Postgres-Datenbank. Jetzt habe ich einen Fehler gemacht und es gibt eine Zeile in dieser Datenbank, die ich löschen möchte. Aber ich habe keinen Zugang. Die Daten werden auf der Website angezeigt. Aber es gibt kein Bild oder andere Inhalte. Es war nur ein Versuch und ein großer Fehler;)Löschen von Daten aus Postgres-Datenbank mit Heroku (Ruby on Rails)

Wie kann ich diese Daten löschen, ohne die gesamte Datenbank zu löschen? Ich habe nichts gefunden ...

Ich hoffe, Sie können mir helfen.

mit freundlichen Grüßen

+1

Vielleicht einen Blick auf die Heroku cli docs haben - https://devcenter.heroku.com/articles/using-the-cli. Auch die Dokumentation für db - https://devcenter.heroku.com/articles/heroku-postgresql – theatlasroom

+1

Sie können 'rehoku run rails console' verwenden, um eine Rails-Konsole zu Ihrer App zu öffnen. – spickermann

+1

Die Rails-Konsole sollte die Aufgabe erledigen. Wenn Sie eine SQL-Konsole bevorzugen, verwenden Sie 'heroku run pg: psql'. – Raffael

Antwort

-1

Sie Datenbank löschen und neu erstellen unter Befehl

heroku pg:reset database 

wieder Datenbank erstellen

heroku run rake db:migrate 

heroku run rake db:seed 
+0

Sie möchten eine Zeile löschen, ohne die gesamte Datenbank zu löschen. Dies ist kein geeigneter Vorschlag. – sevenseacat

1

Ihre Rails-Anwendung Unter der Annahme, ansonsten ordnungsgemäß konfiguriert ist (ich vermute, es ist, da du es weit genug hast, um diese falsche Reihe in die Datenbank einzufügen), wie die Kommentare sagten, kannst du den heroku toolbelt verwenden, um auf die Schienen con zuzugreifen Sohle, einzig, alleinig.

Um den heroku toolbelt zu installieren, befolgen Sie die Anweisungen here.

Da Sie in Rails entwickelt haben, wird dies wahrscheinlich am vertrautesten sein.

Öffnen Sie ein Terminal-Fenster, wechseln Sie in Ihrem Anwendungsverzeichnis und führen

heroku run rails c

Dies sollte Ihnen etwas geben, wie diese

Loading production environment (Rails 4.2.0) 
irb(main):001:0> 

Vom Sie Schienen-Code und die Konsole eingeben können wird diesen Code gegen Ihre Datenbank laufen lassen.

zB wenn das Modell, das Sie ein Beitrag löschen möchten, dann können Sie

geben Sie haben
Post.pluck :name 

, um die Namen der Beiträge zu finden.

Dann könnte tun Sie

Post.where(name: 'my broken post').destroy_all