新的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)“。任何帮助表示赞赏。
答案 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