現在、Ruby on Rails Ubuntu 12.04のRVM経由でインストールされています。デフォルトのデータベースはSQLite3でセットアップされていますが、PostgreSQLに切り替えたいHerokuにプッシュする目的。これを達成するにはどうすればよいですか。
私が従った手順は次のとおりです。
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
Ubuntu 13.10
の公式Postgresリポジトリがないためです。
次に、ユーザーを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
にGemFile
gemを自動的に追加し、適切な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/ precise-pgdg main'> /etc/apt/sources.list.d/pgdg。リスト"
wget --quiet -O- http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | Sudo apt-key add-
須藤apt-getアップデート
Sudo apt-get install postgresql-common
Sudo apt-get install postgresql-9.3 libpq-dev