我目前已經通過Ubuntu 12.04中的RVM安裝了Ruby on Rails。默認的數據庫是在SQLite3中設置的,但我想切換到PostgreSQL來推送到Heroku。我怎樣才能做到這一點?在Ubuntu上爲Ruby on Rails安裝PostgreSQL
回答
這裏是我遵循的步驟:
安裝PostgreSQL和開發包
$ sudo apt-get install postgresql
$ sudo apt-get install libpq-dev
設置是一樣的我的Ubuntu用戶登錄
$ sudo su postgres -c psql
postgres=# CREATE ROLE <username> SUPERUSER LOGIN;
postgres=# \q
修改Gemfile
# Remove gem 'sqlite3'
gem 'pg'
修改database.yml
在app目錄
development:
adapter: postgresql
encoding: unicode
database: appname_development
pool: 5
timeout: 5000
username: <username>
password:
test:
adapter: postgresql
encoding: unicode
database: appname_test
pool: 5
timeout: 5000
username: <username>
password:
運行捆綁安裝
$ bundle install
創建數據庫和遷移
$ rake db:create:all
$ rake db:migrate
下面是我用來幫助來源:
http://mrfrosti.com/2011/11/postgresql-for-ruby-on-rails-on-ubuntu/
http://railscasts.com/episodes/342-migrating-to-postgresql
https://devcenter.heroku.com/articles/local-postgresql
對於打開這個線程按照步驟所有Ubuntu 13.10
用戶下方安裝postresql
:
sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common -t saucy
sudo apt-get install postgresql-9.2 libpq-dev
因爲Ubuntu 13.10
沒有官方的Postgres倉庫。
然後創建用戶爲Nick
解釋(你可以指定一個密碼太):
sudo su postgres -c psql
postgres=# CREATE ROLE gotqn SUPERUSER LOGIN;
postgres=# \password gotqn
postgres=# \q
注:更換gotqn
以上whoami
結果:
的最簡單方法創建您的rails應用程序是指定您正在使用postgresql
,如下所示:
rails new Demo -d postgresql
上面的代碼會自動添加pg
寶石在你GemFile
,並創建相應的database.yml
文件:
development:
adapter: postgresql
encoding: unicode
database: Demo_development
pool: 5
username: gotqn
password: mypass
注意:您需要更改用戶名,如果你有設置成指定正確的密碼。然後運行rake db:create
並啓動rails服務器。
須藤SH -c 「回聲 'DEB http://apt.postgresql.org/pub/repos/apt/精確-pgdg主'> /etc/apt/sources.list.d/pgdg.list」
的wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo易於鍵添加 -
sudo易於得到更新
sudo易於得到安裝PostgreSQL常見
sudo易於得到安裝PostgreSQL-9.3的libpq-dev的
- 1. 在Ubuntu上安裝Ruby On Rails 11.04
- 2. 在Ubuntu或Mint上安裝Ruby on Rails
- 3. Ruby on Rails安裝ubuntu
- 4. Ruby on Rails安裝 - Ubuntu 15
- 5. Ubuntu上的Ruby on Rails安裝錯誤
- 6. Ruby on Rails的安裝在我的Ubuntu
- 7. 在Ubuntu 12.04上爲Ruby on Rails安裝rmagic gem時出錯
- 8. Ruby on Rails的安裝指南的Ubuntu
- 9. 安裝Ruby on Rails
- 10. 無法在Ubuntu上使用RVM安裝Ruby on Rails 13.04
- 11. 在Ubuntu 12.04上安裝Ruby on Rails LTS 2
- 12. 在Ubuntu上使用ruby on rails安裝MySQL [錯誤]
- 13. Ruby on rails安裝使用rvm在Ubuntu 12.04上發佈
- 14. 在Mac OS X上使用Ruby on Rails安裝PostgreSQL
- 15. 的Ruby on Ubuntu上
- 16. 在OSX上安裝Ruby on Rails - 問題
- 17. Ruby on Rails - 在Debian上安裝execjs
- 18. 在Mac上安裝Ruby on Rails?
- 19. 在Mac上安裝Ruby on Rails失敗
- 20. 在windows 7上安裝Ruby on Rails
- 21. 如何在Windows 8上安裝sqlite或postgresql以進行ruby on rails安裝?
- 22. Ruby on Rails的Ubuntu上安裝mysql問題
- 23. 的Ruby on Ubuntu上
- 24. 在ubuntu上安裝Rails
- 25. Ruby on Rails 4:安裝GEM
- 26. Ruby on Rails是不安裝
- 27. Ruby on Rails安裝 - Fedora 7
- 28. Ruby on Rails的安裝
- 29. RVM Ruby on Rails的安裝
- 30. Ruby on Rails的安裝
如果你想添加一個密碼在運行CREATE ROLE之後使用這個命令:ALTER ROLE WITH PASSWORD'yourpassword>'然後顯然將你的密碼加入到database.yml中 –
Hengjie
或者,如果你只是創建第一個角色時間,並且還想輸入密碼:'CREATE ROLE SUPERUSER LOGIN PASSWORD'<你rpassword>';' –
Hengjie
如果您將用戶設置爲與您的unix用戶名相同,即使沒有密碼,這是否安全?基於,例如,上面的mrfrosti.com鏈接,以及Heroku的Postgress.app,似乎這通常是建議的路線。 –