2013-02-28 105 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”命令的工作太