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

112

我刚刚发布了我的第一个Rails网站,但现在出现了问题。当我在我的IDE上以开发模式运行项目时,我可以运行控制台来执行以下操作:

User.first.name='whatever' 改变用户的名称。

在生产模式下如何完成相同的任务?

7个回答

206

如果你正在运行Rails 3.0或更高版本,你也可以使用

rails console production

生产环境可以替换为 开发环境测试环境(默认值为 开发环境

添加选项 --sandbox 可以使控制台中对数据库所做的任何更改在退出后回滚

如果这对您不起作用,您可能需要尝试

bundle exec rails console production

如果你真的要在生产服务器上运行rails控制台,请尝试搜索"run rails console [你的云托管提供商]",例如"run rails console heroku"

从Rails 6开始,你需要使用

RAILS_ENV=production bundle exec rails c
或者
RAILS_ENV=production rails c

根据您的设置而定


对于那些被困在 Rails 版本的冰河时代中的其他人,对于我来说,在 2.3.2 中它是 script/console production - Sara Fuerst

59
相当容易:
RAILS_ENV=production rails console

23

如果您已经将网站部署到服务器,您也可以使用:

bundle exec rails console production

如果您尚未直接在服务器上安装rails软件包,或者想要在Web应用的上下文中运行控制台,则在Rails应用程序的webroot目录中可以找到bin/rails。


1
在Rails 4中尤其如此。 - IAmNaN

11

尝试下面的命令。

  rails c -e production

6
注意:此答案假定您正在使用Heroku作为托管服务。
这取决于您使用的托管服务。对于Heroku,您可以打开终端并输入:
heroku run rails console

这将加载您的生产网站的Rails控制台,并允许您为您的实时网站创建记录。您还可以查看数据库种子,但通常只用于测试。RailsCasts有一些关于此主题的视频,但它们有点过时。

5

在AlmaLinux8上,使用Rails6.1.6时,以下命令适用于我。

bundle exec rails console -e production

-1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接