これは何
Railsでアプリを作成中、データベースをRDSに切り替えました。
Qiitaの記事などでRDSの作成手順はあるのですが、その後のRailsのデータベースとして設定していくのにハマったので備忘録として残します。
バージョン
Rails 5.2.4.2
MySQL 5.6.4
RDS構築
私はUdemyの教材を参考に作成しましたが、
こちらの記事を参考にすれば問題ないかなと思います。
(DB・サーバー構築編)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで
設定
database.ymlの記述を変えていくのですが、そこにパスワード などを直接記入することはセキュリティ上問題なので、credentials.ymlを使っていきます。
credentials.yml
rds:
DATABASE_USERNAME: *****
DATABASE_PASSWORD: ターミナルからRDSに接続するときのパスワード
DATABASE_HOST: RDSのエンドポイント
RDSのエンドポイントは、AWSコンソールのRDSのデータベースをクリックして、下にスクロールするとあります。
続いて、database.ymlの変更
database.yml
production:
<<: *default
database: アプリ名_production
username: <%= Rails.application.credentials.rds[:DATABASE_USERNAME] %>
password: <%= Rails.application.credentials.rds[:DATABASE_PASSWORD] %>
host: <%= Rails.application.credentials.rds[:DATABASE_HOST] %>
socket: /var/lib/mysql/mysql.sock
終わったら、プッシュアンドデプロイ。
ターミナルからRDSに接続し、
mysql> show tables from アプリ名_production;
mysql> select * from アプリ名.users;
などで中身を確認してみましょう!
反映されていますかね〜。
私はRDSに切り替えるのにずっと検索し続け、1日かかりました、、、
何はともあれ以上です!
ありがとうございました!