私は現在、Ubuntu12.04のRVMを介してRubyonRailsをインストールしています。デフォルトのデータベースはSQLite3で設定されていますが、HerokuにプッシュするためにPostgreSQLに切り替えたいと思います。どうすればこれを達成できますか?
3 に答える
これが私が従ったステップです:
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
アプリディレクトリで変更
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
の公式のPostgresリポジトリがないためUbuntu 13.10
です。
次に、Nick
explainとしてユーザーを作成します(パスワードも指定できます)。
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
gemをに追加し、適切なファイルGemFile
を作成します。database.yml
development:
adapter: postgresql
encoding: unicode
database: Demo_development
pool: 5
username: gotqn
password: mypass
注:ユーザー名を変更し、設定した場合は正しいパスワードを指定する必要があります。
次にrake db:create
、Railsサーバーを実行して起動します。
sudo sh -c " echo'deb http://apt.postgresql.org/pub/repos/apt/precision-pgdg main'> /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O- http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-keyadd-
sudo apt-get update
sudo apt-get install postgresql-common
sudo apt-get install postgresql-9.3 libpq-dev