2013-02-28 14 views
90

Właśnie przeżyłem z moją pierwszą stroną Rails, ale teraz mam problem. Kiedy uruchamiam projekt w trybie programowania na moim IDE, mogę uruchomić konsolę na coś w rodzaju:działająca konsola Rails w produkcji

User.first.name='whatever', aby zmienić nazwę użytkownika.

Jak wykonać to samo zadanie w witrynie na żywo w trybie produkcji?

+1

upewnij się, że kopię zapasową db przed aprowizacji w konsoli - podczas produkcji – house9

+1

lub uruchom konsolę z opcją --sandbox określonym jeśli nie chcesz zapisywać zmian –

Odpowiedz

5

Uwaga: w tej odpowiedzi założono, że Heroko jest usługą hostingową.

To zależy od usługi hostingowej, z której korzystasz. Dla Heroku, można przejść do terminala i wpisz

heroku run rails console 

Spowoduje to załadowanie konsolę szyny do zakładu produkcyjnego i pozwala na tworzenie dokumentacji dla żywej strony.

Można również zajrzeć do seeding a database, ale jest to zwykle przeznaczone do testowania. RailsCasts ma kilka filmów na ten temat, ale są one nieco przestarzałe.

42

Dość proste:

RAILS_ENV=production rails console 
+3

uwaga 'produkcja konsoli szyn'' działa również w szynach 3.0 lub nowszych –

+13

Możesz również wpisać' rails c production', jeśli jesteś leniwy tak jak ja. –

159

jeśli używasz szyny 3,0 lub więcej, można także użyć

rails console production 

produkcja może być oczywiście podstawiony development lub test (wartość jest development przez domyślne)

Dodanie opcji --sandbox powoduje, że wszelkie zmiany wprowadzone do bazy danych w c będzie onsole zostać wycofana po wyjściu

Jeśli to nie działa dla Ciebie, być może trzeba spróbować

bundle exec rails console production 

Jeśli rzeczywiście próbuje uruchomić konsolę szyn na serwerze produkcyjnym, spróbuj googlowania "uruchom konsolę szyn [dostawca hostingu w chmurze]" np „Run szyny konsola Heroku”

+0

wow ... jakoś nigdy tego nie wiedziałem. Zawsze myślałem, że to jest o wiele bardziej skomplikowane. – Tallboy

+1

Zauważ, że możesz też 'rails c' zamiast' console rail'.(I 'rails s' zamiast' rails server') –

+2

warte dodania, że ​​'bundle exec' może być potrzebny – DazBaldwin

20

Jeśli już wdrożone witryny na serwerze, można również użyć:

bundle exec rails console production 

... w webroot swojej aplikacji Rails. To znaczy, jeśli jeszcze nie zainstalowałeś pakietu rails bezpośrednio na serwerze lub jeśli chcesz uruchomić konsolę w kontekście twojej aplikacji internetowej.

+1

... szczególnie w Rails 4. – IAmNaN

2

Spróbuj poniżej polecenia.

rails c -e production 
+1

-e nie jest wymagane lub nie jest poprawne, zobacz inne odpowiedzi poniżej –

-1

W „bundle/exec szyny c” polecenie działa zbyt

Powiązane problemy