Djangoでローカルのdb.sqlite3のデータをファイル出力してherokuに入れる
ローカルの開発環境のDBはdb.sqlite3を使っている。
このDBのデータをherokuに移行して使いたい。
流れとしては
$ python manage.py dumpdata
を使ってダンプファイルを作成。
作ったダンプファイルをgitでherokuにデプロイしたうえで
$ heroku run python manage.py loaddata [ダンプファイル名]
とする。
※The Heroku CLIをインストールしている前提。
dumpdataの使い方
基本形
$ python manage.py dumpdata > dump.json
これが基本形。
dump.jsonというファイル名で出力。
基本はJSONで出力されます。
model.pyで管理されているテーブルとadmin関連のテーブルを対象とする(はず)。
フォーマットの指定
python manage.py dumpdata --format=yaml > dump.yaml
YAML形式が良ければ--formatで指定する。
※YAMLを使う時はPyYAMLを追加しないと処理できない。
python manage.py dumpdata --format=xml > dump.xml
XML形式が良ければ--formatで指定する。
インデント
$ python manage.py dumpdata -–indent 2 > dump.yaml
何も指定しないと1行でずらっと出力されるので、整形したければ-–indentでインデントする。
深く検証していないけど数字だけ?2は半角スペース2つでインデント
ダンプするテーブルを指定
$ python manage.py dumpdata -–indent 2 map.prefecture > dump.yaml
テーブルを指定することができる。
上記はmapアプリのprefectureテーブルだけをダンプする。
$ python manage.py dumpdata -–indent 2 map.prefecture map.city > dump.yaml
当然複数テーブル指定可能。
上記はmapアプリのprefectureとcityという2つのテーブルをダンプする。
$ python manage.py dumpdata -–indent 2 –exclude map.prefecture > dump.yaml
基本全部ダンプでいいんだけど、一部のテーブルは除外したいという時は–-exclude
Author And Source
この問題について(Djangoでローカルのdb.sqlite3のデータをファイル出力してherokuに入れる), 我々は、より多くの情報をここで見つけました https://qiita.com/fishandtips/items/6f7f6e3f561acbd469e2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .