web-dev-qa-db-ja.com

Ruby on Rails

現在、Ruby on Rails Ubuntu 12.04のRVM経由でインストールされています。デフォルトのデータベースはSQLite3でセットアップされていますが、PostgreSQLに切り替えたいHerokuにプッシュする目的。これを達成するにはどうすればよいですか。

73
Nick

私が従った手順は次のとおりです。

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

165
Nick

このスレッドを開くすべての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

注:上記のgotqnwhoamiの結果に置き換えます。

enter image description here

Railsアプリケーションを作成する最も簡単な方法は、次のようにpostgresqlを使用していることを指定することです。

Rails new Demo -d postgresql

上記のコードは、pgGemFile gemを自動的に追加し、適切なdatabase.ymlファイルを作成します。

development:
  adapter: postgresql
  encoding: unicode
  database: Demo_development
  pool: 5
  username: gotqn
  password: mypass

注:ユーザー名を変更し、正しいパスワードを設定している場合は、正しいパスワードを指定する必要があります。

次にrake db:createを実行し、Railsサーバーを起動します。

6
gotqn

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

2
Anjan