2017-07-27 25 views
0

剛接觸rails和web開發,並且在這個項目上工作了4周後,我才發現sqlite3在heroku上不起作用。他們在他們的網頁上有一個教程,介紹如何將我的rails應用程序的數據庫從sqlite3更改爲postgresql。
首先我刪除了gem 'sqlite3'並用gem 'pg'代替它。
然後我跑了捆綁安裝,並在此之後改變config/database.ymlSqlite3無法在heroku上工作,而改爲postgresql也不會運行

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 

所以我嘗試運行分貝:創建,但它說:「無法連接到服務器:連接被拒絕(0x0000274D/10061)服務器是否在主機「localhost」(:: 1)上運行,並在端口5432上接受TCP/IP連接?「在線」返回PG :: Connection.new(* args)「。任何幫助讚賞。

+0

以下命令你安裝PostgreSQL,並在您的本地機器上運行? – jvillian

+0

你好,似乎我沒有安裝postgresql。我正在安裝它。 ty – craftdeer

回答

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

+0

你是對的。我開始安裝 – craftdeer

相關問題