1.southのインストール
$ pip install south
2.settings.pyに追記
settings.py の INSTALLED_APPS に'south'を追記します。$ vi settings.py
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'アプリ名1', 'アプリ名2', # southを追加 'south', )
3.既存のアプリをsouthに追加
既にデータベース上にテーブルが作成されている各アプリについて、以下のコマンドを実行します。$ python manage.py schemamigration アプリ名 --init
$ python manage.py migrate アプリ名 --fake
--fake を付けるのを忘れると、southは新たにテーブルを作成しようとし、エラーが返ってきます。
(おまけ) 初期化完了後、モデルの変更時
以下のコマンドを実行すると、モデルの変更をデータベースに反映できます。$ python manage.py schemamigration アプリ名 --auto
$ python manage.py migrate アプリ名
なお、既存のデータに対してdefault値などが設定されていない列を追加する場合は、初期値としてどのような値を入力するかを聞いてくれます。
この際、datetime.datetime.now()等のpythonの式を代入することもできるので便利ですね。
0 件のコメント:
コメントを投稿