Rails-Konsole in der Produktion ausführen

105

Ich bin gerade mit meiner ersten Rails-Site live gegangen, aber jetzt habe ich ein Problem. Wenn ich das Projekt im Entwicklungsmodus auf meiner IDE ausführe, kann ich die Konsole folgendermaßen ausführen:

User.first.name='whatever' um einen Benutzernamen zu ändern.

Wie erledige ich dieselbe Aufgabe auf einer Live-Site im Produktionsmodus?

nFinIt_loop
quelle

Antworten:

182

Wenn Sie Rails 3.0 oder höher verwenden, können Sie auch verwenden

rails console production

Die Produktion kann natürlich durch developmentoder ersetzt werden test(Wert ist developmentstandardmäßig)

Durch Hinzufügen der Option werden --sandboxalle Änderungen, die Sie an Ihrer Datenbank in der Konsole vornehmen, nach dem Beenden rückgängig gemacht

Wenn dies bei Ihnen nicht funktioniert, müssen Sie es möglicherweise versuchen

bundle exec rails console production

Wenn Sie tatsächlich versuchen, die Rails-Konsole auf Ihrem Produktionsserver auszuführen, googeln Sie "Rails-Konsole ausführen [Ihr Cloud-Hosting-Anbieter]", z. B. "Rails-Konsole Heroku ausführen".

Ab Rails 6 müssen Sie verwenden

RAILS_ENV=production bundle exec rails c

oder

RAILS_ENV=production rails c

abhängig von Ihrem Setup

Peter Berg
quelle
53

Ziemlich einfach:

RAILS_ENV=production rails console
Felsbrocken
quelle
23

Wenn Sie Ihre Site bereits auf dem Server bereitgestellt haben, können Sie auch Folgendes verwenden:

bundle exec rails console production

... im Webroot Ihrer Rails App. Dies ist der Fall, wenn Sie das Rails-Paket noch nicht direkt auf dem Server installiert haben oder wenn Sie die Konsole im Kontext Ihrer Web-App ausführen möchten.

RNickMcCandless
quelle
1
... besonders in Rails 4.
IAmNaN
6

Hinweis: Bei dieser Antwort wird davon ausgegangen, dass Sie Heroku als Hosting-Service verwenden.

Dies hängt davon ab, welchen Hosting-Service Sie verwenden. Für Heroku können Sie zu Ihrem Terminal gehen und eingeben

heroku run rails console

Dadurch wird die Rails-Konsole für Ihren Produktionsstandort geladen und Sie können Datensätze für Ihren Live-Standort erstellen.

Sie können sich auch mit dem Seeding einer Datenbank befassen, dies ist jedoch im Allgemeinen zum Testen gedacht. RailsCasts hat einige Videos zu diesem Thema, die jedoch etwas veraltet sind.

jason328
quelle
6

Versuchen Sie es mit dem folgenden Befehl.

  rails c -e production
Pratap
quelle
-1

heute mit Schienen 6 in Konsole laufen RAILS_ENV=production rails console

daniel0318
quelle