【发布时间】:2013-02-15 01:40:43
【问题描述】:
我刚刚上线了我的第一个 Rails 站点,但现在我遇到了问题。当我在 IDE 上以开发模式运行项目时,我可以将控制台运行到以下内容:
User.first.name='whatever' 更改用户名。
如何在生产模式下的实时站点上完成相同的任务?
【问题讨论】:
标签: ruby-on-rails
我刚刚上线了我的第一个 Rails 站点,但现在我遇到了问题。当我在 IDE 上以开发模式运行项目时,我可以将控制台运行到以下内容:
User.first.name='whatever' 更改用户名。
如何在生产模式下的实时站点上完成相同的任务?
【问题讨论】:
标签: ruby-on-rails
注意:此答案假设您使用 Heroku 作为您的托管服务。
这取决于您使用的托管服务。对于 Heroku,您可以转到终端并输入
heroku run rails console
这将为您的生产站点加载 Rails 控制台,并允许您为实时站点创建记录。
您也可以查看seeding a database,但这通常用于测试。 RailsCasts 有一些关于这个主题的视频,但它们有点过时了。
【讨论】:
很简单:
RAILS_ENV=production rails console
【讨论】:
如果你运行的是 rails 3.0 或更高版本,你也可以使用
rails console production
生产当然可以替换为development 或test(默认值为development)
添加选项--sandbox 使得您在控制台中对数据库所做的任何更改都将在您退出后回滚
如果这对您不起作用,您可能需要尝试
bundle exec rails console production
如果您实际上是在尝试在生产服务器上运行 rails 控制台,请尝试使用谷歌搜索“运行 rails 控制台 [您的云托管提供商]”,例如“运行 rails 控制台 heroku”
从 Rails 6 开始,您需要使用
RAILS_ENV=production bundle exec rails c
或
RAILS_ENV=production rails c
取决于您的设置
【讨论】:
script/console production
如果您已经将站点部署到服务器,您还可以使用:
bundle exec rails console production
...在您的 rails 应用程序的 webroot 中。也就是说,如果您还没有直接在服务器上安装 rails 包,或者您想在 Web 应用程序的上下文中运行控制台。
【讨论】:
试试下面的命令。
rails c -e production
【讨论】:
今天在控制台 RAILS_ENV=production rails console 中运行 rails 6
【讨论】: