【Rails】AWS(EC2)本番環境のデータベースをリセットする


はじめに

開発の途中で本番環境のデータベースをリセットする必要があり、その方法を備忘録として残します。

【前提】

  • RailsのアプリケーションをAWS Cloud9上で作成
  • AWS EC2インスタンスを作成してWebサーバーを構築
  • GitHubからアプリケーションを取得し、AWS EC2上にアプリケーションをデプロイ済み

EC2へSSHでログイン

ターミナル
ec2-user:~/environment $ ssh -i ~/.ssh/******.pem [email protected]

「******」にはpemファイルの名前を、「xx.xxx.xx.xx」にはElastic IPを入力します。

Railsアプリケーションのルートディレクトリに移動

ターミナル
[ec2-user@ip-xxx-xx-x-xxx ~]$ cd GitHubのリポジトリ名

データベースを削除

ターミナル
[ec2-user@ip-xxx-xx-x-xxx GitHubのリポジトリ名]$ RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:drop

データベースを作成

ターミナル
[ec2-user@ip-xxx-xx-x-xxx GitHubのリポジトリ名]$ bundle exec rails db:create RAILS_ENV=production

マイグレーションを行う

ターミナル
[ec2-user@ip-xxx-xx-x-xxx GitHubのリポジトリ名]$ bundle exec rails db:migrate RAILS_ENV=production

※seedsファイルも反映させたい場合

ターミナル
[ec2-user@ip-xxx-xx-x-xxx GitHubのリポジトリ名]$ bundle exec rails db:seed RAILS_ENV=production

参考