2017-03-16 2 views
0

Ich übernehme ein Projekt, in dem der Großteil des Backends bereits in Ruby geschrieben wurde (ich bin komplett neu in Ruby). Wir verwenden Heroku, um unser Backend mit einer Postgres-Datenbank zu hosten. Ich habe versucht, mit pg: psql Änderungen an der Datenbank manuell für ein paar außergewöhnliche Szenarien vorzunehmen. Leider scheinen die Daten in der App nicht die Daten zu enthalten, die ich in der Datenbank sehe. Ich habe versucht, den Befehl "pg: push" zu verwenden, um die Änderungen zu übernehmen, aber ich habe keine lokale Datenbank zum Push-Vorgang. Irgendwelche Ideen was ist los?Heroku postgres Datenbankänderungen erscheinen nicht in der Produktions-App

Antwort

0

Versuchen Sie, die Rails-Konsole auszuführen und die Datensätze mit ActiveRecord zu aktualisieren. Zum Beispiel könnten Sie Folgendes tun:

heroku run rails console --remote <remote> 
user = User.first 
user.update!(first_name: "Sankalp") 

Wenn die Datensätze ordnungsgemäß aktualisiert werden, liegt möglicherweise ein Problem mit Ihrer Datenbank vor. Bestätigen Sie, dass Sie sich mit der richtigen Datenbank verbinden, indem Sie in die Heroku-Einstellungen gehen und die DB_URL überprüfen.

0

Machen Sie Migrationsdateien, um irgendetwas in der Datenbank zu ändern, und wechseln Sie zu heroku.

Dann führen Migrationen mit dem Befehl:

heroku run rake db:migrate 

Wenn Sie einige Daten zu db hinzufügen möchten, dann Datensatz in seed.rb Datei erstellen und auf Heroku durch Befehl ausführen:

heroku run rake db:seed 

Öffnen Sie die heroku-Konsole und prüfen Sie Tabellen und Daten. Befehl:

heroku run rails console 
User.all 
Verwandte Themen