Postgresql の設定 (Rails 編)

Rails はすでにインストールされているものとします。

Postgresql の インストール

www.digitalocean.com

上記を参考にインストール。今回は Debian 公式パッケージをインストール

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install postgresql postgresql-contrib libpq-dev

ユーザーの作成

bamchoh というユーザーをパスワード付きで作成

$ sudo -u postgres createuser -s bamchoh -P
新しいロールのためのパスワード: *****
もう一度入力してください:*****

Rails のデフォルトで作成される database.yml は production モードしか usernamepassword を要求しない。なので、development / test モードで使用する分には作成は必要ないかもしれない。production モードでデフォルトで指定されている username は アプリの名前がそのまま使われている模様。 testapp というアプリを作成すると username には testapp が指定される。パスワードは環境変数から取得するように設定され、testapp の場合は TESTAPP_DATABASE_PASSWORD という環境変数から取得するように設定されるので、productionモードで使用する場合は適宜設定するようにする。

テスト用Rails アプリの作成

適当なフォルダを作成。今回は testapp というフォルダを作成。

bundle exec rails new . -d postgresql の途中でファイルを上書きするかどうか聞かれるが、すべて Y で上書きする。

$ mkdir testapp
$ cd testapp
$ bundle init
$ echo 'gem "rails"' >> Gemfile
$ bundle config --local path vendor/bundle
$ bundle install
$ bundle exec rails new . -d postgresql
$ bundle exec rails db:create
$ bundle exec rails g scaffold Tweet title:string content:text
$ bundle exec rails db:migrat
$ bundle exec rails s -b 0.0.0.0

http://localhost:3000/tweets/ でアクセスできたら成功。