Django1.7から追加されたmigration周りについてメモしておく

Django1.7からAlembicみたいな機能が標準で実装されました。便利なので使い方をメモしておきます。

最初に

python manage.py makemigrations your_app_name

と入力するとyour_app_nameの中でモデルのカラム/テーブル名が追加、削除された箇所を自動で判別して

Migrations for 'your_app_name':
0001_initial.py:
- Create model ...
- Add Field ...

上記の様なメッセージが表示されます。

これはyour_app_nameから…という新しいテーブルとカラムが作られて0001_initial.pyというファイルを作成しました、という意味です。 この0001_initial.pyを反映させると既存のDBに新しいテーブル/カラムが追加/削除されます。

また、どのようなsqlファイルを吐き出すかチェックする場合は

python manage.py sqlmigrate your_app_name 0001

とすると確認できます。

最後に中身を見て問題がないようでしたら、

python manage.py migrate

を実行して0001_inital.pyを反映させましょう。

この機能はかなり便利!

Related Contents

Pickup Contents