DB を本番環境と同じにする
DB を本番環境と同じにする
以下のようなときに、どう対応しているかまとめました。
DB
いろいろいじってもとに戻したい時- 本番環境 (
prod
) と同じデータを入れたい時 ridgepole
というgem
を使っていて、db:apply
できなくなった時
コマンド一覧
データベースを削除
$ bundle exec rails db:drop
データベースを作成
$ bundle exec rails db:create
dump ファイルのコピー
Amazon の S3
からローカルの ./
に rails_app
の dumpファイル
をコピーする。
$ aws s3 cp s3://xxxx-db-backup/rails_app/rails_app.sql.gz ./
以下のように追加しておくと、ローカル環境でだけ無視したいファイルを登録できます。ローカル環境の .gitignore
ファイルのようなもの。
.git/info/exclude
# ./git/info/exclude
rails_app.sql.gz
データの流し込み
ローカルの MySQL
に AWS
からコピーした dumpファイル
を使ってデータを流し込む。
$ mysql -u ${USERNAME} rails_app_development < rails_app.sql