Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Heroku、PostgreSQL和Rails 5上运行迁移时出错_Ruby On Rails_Ruby_Postgresql_Ruby On Rails 4_Heroku - Fatal编程技术网

Ruby on rails 在Heroku、PostgreSQL和Rails 5上运行迁移时出错

Ruby on rails 在Heroku、PostgreSQL和Rails 5上运行迁移时出错,ruby-on-rails,ruby,postgresql,ruby-on-rails-4,heroku,Ruby On Rails,Ruby,Postgresql,Ruby On Rails 4,Heroku,我使用PostgreSQL将Rails 5部署到Heroku的免费应用程序中。这是我在数据库中的配置。yml: production: adapter: postgresql username: root password: database: example host: localhost 当我运行heroku run rake db:migrate时,我看到以下错误: 雷克流产了! PG::ConnectionBad:无法连接到服务器:没有这样的文件或目录 服务器是否在本

我使用PostgreSQL将Rails 5部署到Heroku的免费应用程序中。这是我在
数据库中的配置。yml

production:
  adapter: postgresql
  username: root
  password:
  database: example
host: localhost
当我运行heroku run rake db:migrate时,我看到以下错误:

雷克流产了! PG::ConnectionBad:无法连接到服务器:没有这样的文件或目录 服务器是否在本地运行并接受 Unix域套接字上的连接“/var/run/postgresql/.s.PGSQL.5432”

如果我将此行添加到
数据库.yml

production:
  adapter: postgresql
  username: root
  password:
  database: example
host: localhost
然后再次运行迁移,我看到以下错误:

雷克流产了! PG::ConnectionBad:无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口5432上的TCP/IP连接


如何修复它?

按顺序执行一些步骤

  • $heroku登录

  • 在Gemfile中,将pg gem添加到Rails项目中。更改:

    gemsqlite


    gem'sqlite3',group::development

    gem'pg',0.18.1',集团::生产

  • 在Gemfile中,添加rails\u 12factor gem::

    gem'rails\u 12factor',group::production

  • $bundle安装

  • 确保config/database.yml正在使用postgresql适配器。更改:

    生产:


    按顺序执行一些步骤

  • $heroku登录

  • 在Gemfile中,将pg gem添加到Rails项目中。更改:

    gemsqlite


    gem'sqlite3',group::development

    gem'pg',0.18.1',集团::生产

  • 在Gemfile中,添加rails\u 12factor gem::

    gem'rails\u 12factor',group::production

  • $bundle安装

  • 确保config/database.yml正在使用postgresql适配器。更改:

    生产:


    似乎没有为您的应用程序提供数据库,您需要添加一个:

    heroku addons:create heroku-postgresql
    
    您可以通过运行以下命令来验证数据库是否已添加到应用程序中:

    heroku config --app your_app_name
    

    似乎没有为您的应用程序提供数据库,您需要添加一个:

    heroku addons:create heroku-postgresql
    
    您可以通过运行以下命令来验证数据库是否已添加到应用程序中:

    heroku config --app your_app_name
    

    删除旧数据库后,应执行以下操作

    heroku pg:promote HEROKU_POSTGRESQL_NEW_DATABASE
    
    您可以通过以下方式检查您的DB昵称:

    heroku pg:info
    

    删除旧数据库后,应执行以下操作

    heroku pg:promote HEROKU_POSTGRESQL_NEW_DATABASE
    
    您可以通过以下方式检查您的DB昵称:

    heroku pg:info
    

    您可以打印heroku config--app your_app_name
    命令的输出吗?LANG:en_US.UTF-8 RACK_ENV:production RAILS_ENV:production RAILS_LOG_到STDOUT:enabled RAILS_SERVE_STATIC_文件:enabled SECRET_KEY_BASE:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
    heroku config--app your_app_name
    command?LANG:en_US.UTF-8 RACK_ENV:production RAILS_LOG_TO_STDOUT:enabled RAILS_SERVE_STATIC_FILES:enabled SECRET_KEY_BASE:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy。检查文档:
    rails\u 12 rails 5不需要系数
    。检查文档:当问题是连接时,OP为什么应该删除数据库?当问题是连接时,OP为什么应该删除数据库?