ローカルのdb.sqlite3の中身をherokuにコピーする

ローカルの開発環境ではdb.sqlite3を使っている。
テストデータといっても、本番と変わらないデータが入っているので、これをherokuのDBに流し込みたい。

DjangoにはFixtureという機能が付いている。
YamlやJSON形式で作成したデータをDBに流し込む仕組み。

fixturesというディレクトリにファイルを格納し

$ python manage.py loaddata ファイル名

のようにコマンドを実行する。

流し込むファイル自体を作るコマンドがある。

$python manage.py dumpdata > dump.json

を実行するとdump.jsonというファイルを生成してくれる。

が、これで作成したファイルをloadfileするとエラーが出る。
存在しているテーブル全てをdump.jsonに含めているが、中にはどうやら不要なテーブルも存在していて、それは除外する必要があるようだ。

Monotalkの記事を参考にしました。

python manage.py dumpdata --exclude auth.permission --exclude contenttypes < dump.json

不要なテーブルを除外するオプションが追加されている。

これを

$ git add fixutures/dump.json


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です