我刚刚上线了我的第一个 Rails 站点,但现在我遇到了问题。当我在 IDE 上以开发模式运行项目时,我可以将控制台运行为:
User.first.name='whatever'
更改用户名。
如何在生产模式下在实时站点上完成相同的任务?
我刚刚上线了我的第一个 Rails 站点,但现在我遇到了问题。当我在 IDE 上以开发模式运行项目时,我可以将控制台运行为:
User.first.name='whatever'
更改用户名。
如何在生产模式下在实时站点上完成相同的任务?
如果您正在运行 rails 3.0 或更高版本,您还可以使用
rails console production
生产当然可以用development
or代替(默认test
值为)development
添加该选项--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_ENV=production rails console
如果您已经将站点部署到服务器,您还可以使用:
bundle exec rails console production
...在您的 rails 应用程序的 webroot 中。也就是说,如果您尚未直接在服务器上安装 rails 包,或者您想在 Web 应用程序的上下文中运行控制台。
试试下面的命令。
rails c -e production
注意:此答案假设您使用 Heroku 作为您的托管服务。
这取决于您使用的托管服务。对于 Heroku,您可以转到终端并输入
heroku run rails console
这将为您的生产站点加载 Rails 控制台,并允许您为实时站点创建记录。
您还可以考虑为数据库播种,但这通常用于测试。RailsCasts 有一些关于这个主题的视频,但它们有点过时了。
今天在控制台中运行 rails 6RAILS_ENV=production rails console