2013-02-28 132 views
90

我剛剛與我的第一個Rails站點一起生活,但現在我遇到了問題。當我在我的IDE運行在開發模式的項目,我可以運行控制檯類似:在生產中運行Rails控制檯

User.first.name='whatever'更改用戶名。

我如何做到在生產模式下的實時站點相同的任務?

+1

確保您在控制檯亂搞之前備份你的數據庫 - 在生產 – house9 2013-03-01 00:11:54

+1

時或運行與如果指定了--sandbox選項控制檯你不想保存你的更改 – 2013-06-05 18:00:30

回答

5

注:這個答案假定您使用Heroku的爲您的主機服務。

這取決於你使用的託管服務。對於Heroku的,你可以去你的終端類型

heroku run rails console 

這將加載鐵軌控制檯爲您的生產現場,並允許您爲您的生活網站上創建的記錄。

您也可以看看seeding a database但通常是指進行測試。 RailsCasts有關於該主題的一些視頻,但它們有點過時。

42

很簡單:

RAILS_ENV=production rails console 
+3

注意'rail console production'也可以在rails 3.0或更高版本中工作 – 2013-06-05 17:58:36

+13

如果你像我一樣懶惰,你也可以鍵入'rails c production'。 – 2013-06-05 18:07:59

159

如果你正在運行軌道3.0或更高版本,你也可以使用

rails console production 

生產當然可以用被取代developmenttest(價值development通過默認情況下)

添加選項--sandbox使得它讓你對數據庫在C的任何變化onsole將回滾退出

後,如果這不是爲你工作,你可能需要嘗試

bundle exec rails console production 

如果你實際上是試圖運行您的生產服務器上的鐵軌控制檯,嘗試使用Google 「跑道控制檯[你的雲託管服務提供商]」例如「運行軌道控制檯的Heroku」

+0

哇......不知何故,我從來不知道這一點。我一直認爲它非常複雜 – Tallboy 2013-11-12 03:28:14

+1

請注意,您可以'rails c'而不是'rails console'。(並且'rails s'代替'rails server') – 2014-05-13 19:19:18

+2

值得補充說可能需要'bundle exec' – DazBaldwin 2014-07-15 15:53:52

20

如果你已經部署了你的網站服務器上,你也可以使用:

bundle exec rails console production 

...在你的Rails應用程序的根目錄。也就是說,如果您尚未在服務器上直接安裝rails包,或者如果您想在Web應用程序的上下文中運行控制檯。

+1

......尤其是在Rails 4中。 – IAmNaN 2013-10-02 03:21:46

2

請嘗試下面的命令。

rails c -e production 
+1

-e不是必需的或者是無效的,請參閱其他下面的答案 – 2016-11-12 14:38:07

-1

「軟件包/ EXEC軌C」命令的工作太