【Rails】AWS(EC2)本番環境のデータベースをリセットする
はじめに
開発の途中で本番環境のデータベースをリセットする必要があり、その方法を備忘録として残します。
【前提】
- RailsのアプリケーションをAWS Cloud9上で作成
- AWS EC2インスタンスを作成してWebサーバーを構築
- GitHubからアプリケーションを取得し、AWS EC2上にアプリケーションをデプロイ済み
EC2へSSHでログイン
ターミナル
ec2-user:~/environment $ ssh -i ~/.ssh/******.pem [email protected]
ターミナル
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
参考
ターミナル
[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
参考
ターミナル
[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
参考
ターミナル
[ec2-user@ip-xxx-xx-x-xxx GitHubのリポジトリ名]$ bundle exec rails db:seed RAILS_ENV=production
Author And Source
この問題について(【Rails】AWS(EC2)本番環境のデータベースをリセットする), 我々は、より多くの情報をここで見つけました https://qiita.com/tmy628/items/f3cfc3e768e886a81cf4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .