読者です 読者をやめる 読者になる 読者になる

cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

Django データベースのバックアップ

Django MySQL

Djangoで作業してて、モデルを編集したいことが多々ある。
しかし、一旦作ってしまったモデルに付いて変更しても、
syncdbでは対応できない。

今までは、データベースを削除して、作って、syncdbしてたんだけど、
データの追加にかなり時間が掛かるようになってきたので、

その部分だけバックアップを作って、戻すようにした。

注意点として、バックアップできるのは、リレーションを貼っていないテーブルだけ
よって、リレーションはPKなどを使わず、自分で定義した文字列のフィールドを使ってる

> CREATE DATABASE mydb_back;
> use mydb_back
> CREATE TABLE mytb_back SELECT * FROM mydb.mytb;
> exit;
> DROP DATABASE mydb;
> CREATE DATABASE mydb;
> exit;
python manage.py syncdb
> use mydb
> INSERT INTO mytb SELECT * FROM mydb_back.mytb_back;
> exit;


MySQL テーブルの複製(コピー)を作成する | 渋谷生活
他のDBにあるテーブル内容をcreate tableできますか? - 質問・相談ならMSN相談箱