IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

ローカルで production環境用のデータベースを作成してみる

Gemfile を編集する

ここでは、production環境で PostgreSQL を使うようにしたい。

以下のように記述して、ターミナルから bundle コマンドを実行して gem をインストールする。

f:id:matt-note:20190110210118p:plain

  • bundle

 

config/database.yml を編集する

以下のように編集してみた。

f:id:matt-note:20190110202705p:plain

 

ユーザーを作成する。ここでは sample_user というユーザーを作成したい。

ターミナルから、以下のコマンドを実行する。

  • createuser -d -P sample_user

f:id:matt-note:20190110203415p:plain

 

パスワード用に環境変数を設定する。上で設定したパスワードを代入する。

  • export SAMPLE_PASSWD=password

 

echo $SAMPLE_PASSWD を実行すると、値を確認できる。

 

データベースを作成する

以下のコマンドで、production環境用のデータベースの作成とマイグレーションを実行する。

  • RAILS_ENV=production bin/rails db:create db:migrate

f:id:matt-note:20190110203848p:plain

 

確認してみる。

f:id:matt-note:20190110205709p:plain

-> データベースが作成できた。

 

サーバーを起動してみる

アセットのプリコンパイルを実行しておく。

  • bin/rails assets:precompile

 

ここでは、静的ファイルの配信機能を有効化する。静的ファイルの配信機能は、デフォルトで無効化するにようになっている。ここでは、これを有効化しておかないと JavaScript が実行できずにエラーになるので有効化する。以下のコマンドを実行して、環境変数を設定する。ミスって入力するとエラーになるので注意。

  • export RAILS_SERVE_STATIC_FILES=true

 

サーバーを起動する。

  • bin/rails s -e=production

f:id:matt-note:20190110204949p:plain

-> production 環境で動かすことができた。

 

参考