hene

hene.dev

DB を本番環境と同じにする

DB を本番環境と同じにする

以下のようなときに、どう対応しているかまとめました。

  • DB いろいろいじってもとに戻したい時
  • 本番環境 (prod) と同じデータを入れたい時
  • ridgepole という gem を使っていて、db:apply できなくなった時

コマンド一覧

データベースを削除

$ bundle exec rails db:drop

データベースを作成

$ bundle exec rails db:create

dump ファイルのコピー

Amazon の S3 からローカルの ./rails_appdumpファイル をコピーする。

$ aws s3 cp s3://xxxx-db-backup/rails_app/rails_app.sql.gz ./

以下のように追加しておくと、ローカル環境でだけ無視したいファイルを登録できます。ローカル環境の .gitignore ファイルのようなもの。

.git/info/exclude

# ./git/info/exclude

rails_app.sql.gz

データの流し込み

ローカルの MySQLAWS からコピーした dumpファイル を使ってデータを流し込む。

$ mysql -u ${USERNAME} rails_app_development < rails_app.sql

参考

関連記事