2014-01-09 34 views
1

我已經閱讀了幾篇文章,並觀察了從sqlite3遷移到pg的railscast,它們都似乎有衝突的設置,我沒有看到任何人遇到我得到的錯誤。我有本地數據,我不關心。如果它被摧毀,那很好。將sqlite3移植到rails應用程序中的postgres

這是我所做的。

從這個變化的database.yml:

development: 
adapter: sqlite3 
database: db/development.sqlite3 
pool: 5 
timeout: 5000 

要這樣:

development: 
adapter: postgresql 
database: app_name_database 
pool: 5 
timeout: 5000 

有一件事我沒有這個文件,其中的一些例子是,我沒有編碼,用戶名的通知或密碼。這是必要的嗎?

我從這個更新了我的寶石文件:

group :production do 
gem 'pg' 
gem 'rails_12factor' 
end 

group :development do 
gem 'sqlite3' 
end 

要這樣:

group :production do 
gem 'pg' 
gem 'rails_12factor' 
end 

group :development do 
gem 'pg' 
end 

繼指令 - 在railscast說耙分貝:創建:所有。但是,當我運行這個時,我在控制檯中得到以下錯誤:

could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 

關於我在做什麼不正確的任何想法?在此之前是否有需要完成的rake任務?

感謝

+0

您是否在本地安裝並配置了PostgreSQL? –

+0

是的 - psql --version是psql(PostgreSQL)9.1.9 – brad

回答

1

你開始PostgreSQL數據庫?這是我如何開始我的 - pg_ctl -D/usr/local/var/postgres -l /usr/local/var/postgres/server.log start?

+0

所以你從命令行運行:「pg_ctl -D/usr/local/var/postgres -l /usr/local/var/postgres/server.log開始「,它啓動你的PG服務器? – brad

+0

與SQLite自動穩定不同,您需要啓動Postgresql,至少在developmetn中,無論何時開始工作。更多信息http://www.postgresql.org/docs/9.1/static/server-start.html - Pierre – user1854802

+0

就是這樣。 Railscasts沒有提到這一點。確保pg在rake db之前啓動:create:all。謝謝! – brad

相關問題