よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

アプリのDBデータを別アプリにリストアする方法

本番環境のデータを用いてステージング環境でテストしたくなることがあります。
そんなときはtapsを利用してローカルにデータを一時保存し、そのデータをリストアすることで実現可能です。

まずはtapsのインストールです。

$ gem install taps

続いて以下のコマンドでHerokuのDBデータをローカルに保存します。
ここではapplication-productionというHerokuアプリのデータを取り出すものとします。

$ heroku db:pull sqlite://local.db --app application-production

SQLiteの形式でlocal.dbに保存されます。
続いてlocal.dbのデータをpushしてリストアします。
リストア先はapplication-stagingとします。

$ heroku db:push sqlite://local.db --app application-staging

以上の2コマンドを実行するだけでデータの移行ができます。
簡単ですね。