Sqlite3无法在heroku上工作并且更改为postgresql将无法运行迁移

时间:2017-07-27 19:29:12

标签: ruby-on-rails ruby postgresql heroku sqlite

新的rails和Web开发以及在这个项目上工作4周之后,我发现sqlite3在heroku上不起作用。他们在他们的网页上有一个关于如何将我的rails应用程序的数据库从sqlite3更改为postgresql的教程。
首先,我删除了gem 'sqlite3'并将其替换为gem 'pg'
然后我运行了bundle install并更改了config/database.yml From

    default: &default
      adapter: sqlite3
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      timeout: 5000

   development:
     <<: *default
     database: db/development.sqlite3

   test:
     <<: *default
     database: db/test.sqlite3

   production:
     <<: *default
     database: db/production.sqlite3

      default: &default
      adapter: postgresql
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      timeout: 5000

   development:
     <<: *default
     database: my_newapp_development

   test:
     <<: *default
     database: my_newapp_test

   production:
     <<: *default
     database: my_newapp_production

所以在此之后我尝试运行db:create但它说“无法连接到服务器:连接被拒绝(0x0000274D / 10061)服务器是否在主机”localhost“(:: 1)上运行并接受TCP / IP连接端口5432?“在线”返回PG :: Connection.new(* args)“。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

请使用终端检查本地计算机上是否安装了postgresql。

psql --version

如果已安装,请检查psql服务器是否正在运行。

ps aux | grep postgresql

要启动postgres服务器,请在终端

上运行以下命令

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start