本日の学びたち

エンジニアになるため、日々学んだことをまとめています

【rails】本番環境へ初期値を投入する

こんにちは。gureです。

今回は本番環境(EC2)へ初期値をseeds.rbから投入したので、備忘録がてら書きたいと思います。

 

初期値として入れるデータ

 

今回は管理者権限を持つユーザーをseeds.rbに記述してあったので、そちらを反映させます。

コードはこちら。

User.create!(name: "admin",email: ENV['EMAIL'],password: ENV['PASSWORD'],password_confirmation: ENV['PASSWORD'] ,admin: true)

9/13に投稿していた内容です。

 

EC2上での作業

  \コンチハ!/ 

        _ _|    _ _| _    )

       _|    (            /    Amazon Linux 2 AMI

      _ _ _|\_ _ _| _ _ _|

 

自動デプロイツールとしてcapistoranoを使用しましたので、

/var/www/アプリ名/current まで移動します。

開発環境では rails db:seed でseeds.rbのデータを投入しましたが、

本番環境では  rails db:seed RAILS_ENV=production  でseeds.rbのデータを反映させます。

これで投入完了です。

 

ただし、今回の場合はメールアドレスとパスワードを環境変数で設定しているので、EC2上の環境変数も設定してあげる必要があります。

 

sudo vim /etc/environment

 

環境変数を設定しにいきます。

 

i を入力してinsertモードにしたら、

EMAIL='管理者用メールアドレス'

PASSWORD='管理者用パスワード'

を入力します。

escキーと:wqを入力することで、保存して脱出します。 

環境変数を反映させるためにexitで一度本番環境を終了したら再起動します。

 

環境変数が設定できているかは、

 

env | grep EMAIL

または

env | grep PASSWORD

 

で確認できます。

 

これで本番環境でも管理者権限を持ったユーザーがログインできるようになりました。