在生产环境中运行Rails控制台


105

我刚开始使用第一个Rails网站,但是现在遇到了问题。当我在IDE上以开发模式运行项目时,可以将控制台运行如下:

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

如何在生产模式下的实时站点上完成相同任务?

Answers:


182

如果您运行的是Rails 3.0或更高版本,则还可以使用

rails console production

生产当然可以用development或代替testdevelopment默认值为值)

添加该选项--sandbox后,您退出控制台后对数据库所做的任何更改都将回滚

如果这不适合您,则可能需要尝试

bundle exec rails console production

如果您实际上是想在生产服务器上运行Rails控制台,请尝试使用Google搜索“ run rails console [您的云托管提供商]”,例如“ run rails console heroku”

从Rails 6开始,您需要使用

RAILS_ENV=production bundle exec rails c

要么

RAILS_ENV=production rails c

取决于您的设置


53

挺容易:

RAILS_ENV=production rails console

23

如果您已经将站点部署到服务器,则还可以使用:

bundle exec rails console production

...在您的rails应用程序的webroot中。也就是说,如果您还没有直接在服务器上安装rails软件包,或者想要在Web应用程序的上下文中运行控制台。


1
......尤其如此Rails的4
IAmNaN

6

注意:此答案假设您使用Heroku作为托管服务。

这取决于您使用的托管服务。对于Heroku,您可以转到终端并输入

heroku run rails console

这将为您的生产站点加载Rails控制台,并允许您为活动站点创建记录。

您也可以考虑为数据库植入种子,但这通常是为了进行测试。RailsCasts上有一些有关该主题的视频,但它们有些过时了。



-1

今天,Rails 6在控制台中运行 RAILS_ENV=production rails console

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.