Ruby
Rails
Linux
Ubuntu
PostgreSQL

Ruby on Railsの開発環境でPostgreSQLを利用する

開発環境でもPostgerSQLを利用したかったので導入した際の防備録です。

環境

Linux(Ubuntu)
Ruby 2.3.0
Rails 5.0.4

補足

下記、コード記載部分の<>は、実際に入力する時は不要です。自分で決めるところを<>で現しています。

PostgreSQL Account を作る

元々、PostgreSQLはInstall済みだったのでAccountの設定から始めました。

$ sudo -u postgres psql
postgres=# create role <apprname> with createdb login password '<password>';
postgres=# \q

Rails new

rails new <appname> -d postgresql
cd <appname>

config/database.ymlの編集

config/database.yml
default:
  adapter: postgresql
  encoding: unicode
  pool: 5
  # 以下、3行追加
  username: <appname> # 設定したPostgreSQL Accountと同一のもの
  password: <password> # 設定したPostgreSQL Accountと同一のもの
  host: localhost
devlopment:
  <<: *default
  database: appname_development # appnameのところは、rails new時のappnameになっているはずです。
test:
  <<: *default
  database: appname_test # appnameのところは、rails new時のappnameになっているはずです。

  # 以下、省略

PostgreSQLにDatabaseを作成

下記、db/schema.rbの作成前にしておかないとこけました。
ただ、末のdb:setupを走らせると「すでにDATABASEあるよ。」的なこと言ってる様子なので、db:setupしちゃえばいいのかも知れません。

sudo -u postgres psql
postgres=# CREATE DATABASE appname_development;
postgres=# CREATE DATABASE appname_test;
postgres=# \q

db:setupに必要なdb/schema.rbを作成

$ rails db:migrate

上記を走らせるとdb/schema.rbが作成されました。

db:setupする

$ rails db:setup
$ rails s

以降、localhost:3000にBrowserでAccessしてrailsの画面が表示されたので問題ないかと思います。

参考

インストールからRails-PostgreSQL環境を整える