2013-02-28 2 views
90

Я только что начал жить с моим первым сайтом Rails, но теперь у меня проблема. Когда я запускаю проект в режиме разработки на своей IDE, я могу запустить консоль примерно так:работает Rails консоль в производстве

User.first.name='whatever', чтобы изменить имя пользователя.

Как выполнить ту же задачу на реальном сайте в режиме производства?

+1

убедитесь, что вы резервную копию БД прежде, чем возиться в консоли - когда в производстве – house9

+1

или запустить консоль с опцией --sandbox указанной если вы не хотите сохранять свои изменения. –

ответ

5

Примечание: Этот ответ предполагает, что вы используете Heroku в качестве своего хостинга.

Это зависит от того, какую услугу вы используете. Для Heroku, вы можете перейти к терминалу и введите

heroku run rails console 

Это загрузит консоль рельсы для производственной площадки и позволит создавать записи для живого сайта.

Вы также можете посмотреть seeding a database, но это обычно предназначено для тестирования. В RailsCasts есть несколько видеороликов по теме, но они немного устарели.

42

Довольно легко:

RAILS_ENV=production rails console 
+3

примечание 'rails console production' также работает в рельсах 3.0 или выше –

+13

Вы также можете набрать' rails c production', если вы ленитесь, как я. –

159

если вы используете Рельсы 3,0 или выше, вы можете также использовать

rails console production 

производство, конечно, могут быть замещены development или test (значение development по по умолчанию)

Добавление опции --sandbox делает так, чтобы любые изменения, внесенные в базу данных в c onsole будет откат после выхода

Если это не работает для вас, вы, возможно, придется попробовать

bundle exec rails console production 

Если вы на самом деле пытаетесь запустить консоль рельсов на производственном сервере, попробуйте прибегая к помощи «запустить консоль rails [поставщик облачного хостинга]», например «Бегут рельсы консоли Heroku»

+0

Вау ... как-то я этого не знал. Я всегда думал, что это было намного сложнее. – Tallboy

+1

Обратите внимание, что вы можете использовать 'rails c' вместо' rails console'.(И 'rails s' вместо« сервера rails ») –

+2

стоит добавить, что может понадобиться' bundle exec' – DazBaldwin

20

Если вы уже разместили ваш сайт на сервере, вы также можете использовать:

bundle exec rails console production 

... в корневой директории вашего приложения рельсы. То есть, если вы еще не установили пакет rails прямо на сервер или хотите запустить консоль в контексте своего веб-приложения.

+1

... особенно в Rails 4. – IAmNaN

2

Попробуйте нижеприведенную команду.

rails c -e production 
+1

-e не требуется или недействительна, см. Другие ответы ниже –

-1

«расслоением/Exec рельсы с» команда работает слишком

Смежные вопросы