【问题标题】:running Rails console in production在生产环境中运行 Rails 控制台
【发布时间】:2013-02-15 01:40:43
【问题描述】:

我刚刚上线了我的第一个 Rails 站点,但现在我遇到了问题。当我在 IDE 上以开发模式运行项目时,我可以将控制台运行到以下内容:

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

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

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

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

    heroku run rails console
    

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

    您也可以查看seeding a database,但这通常用于测试。 RailsCasts 有一些关于这个主题的视频,但它们有点过时了。

    【讨论】:

      【解决方案2】:

      很简单:

      RAILS_ENV=production rails console
      

      【讨论】:

        【解决方案3】:

        如果你运行的是 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
        

        取决于您的设置

        【讨论】:

        • 对于其他陷入 Rails 版本冰河时代的人来说,对于 2.3.2 中的我来说,它是 script/console production
        【解决方案4】:

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

        bundle exec rails console production
        

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

        【讨论】:

        • ...在 Rails 4 中尤其如此。
        【解决方案5】:

        试试下面的命令。

          rails c -e production
        

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-05-22
            • 2015-05-05
            • 1970-01-01
            • 2016-10-22
            • 1970-01-01
            • 2020-06-10
            • 2022-07-05
            • 2016-03-22
            相关资源
            最近更新 更多