私は南に慣れていないので、電話する必要があるかどうか疑問に思っています
./manage.py syncdb
またはやって
./manage.py schemamigration appname --auto
./manage.py migrate appname
すべての場合において、Southは独自に処理できます。
私は南に慣れていないので、電話する必要があるかどうか疑問に思っています
./manage.py syncdb
またはやって
./manage.py schemamigration appname --auto
./manage.py migrate appname
すべての場合において、Southは独自に処理できます。
南はプロジェクト全体ではありません。アプリワイドです。
南を使用するアプリもあれば、使用しないアプリもあります。
アプリが南に統合されている場合、データベースの変更を行うには、
./manage.py schemamigration appname --auto
./manage.py migrate appname
ただし、すべてのアプリが南に統合されているわけではありません。
南を使用しない新しいアプリをプロジェクトに追加するときは./manage.py syncdb
、これらのアプリを呼び出す必要があります。(たとえば、django.contrib
アプリ)
つまり、./manage.py syncdb
アプリが南を使用しない場合、および南に統合され./manage.py migrate
たアプリに使用します。
新しいアプリMyAppを作成またはインストールするときは、最初に次のコマンドを実行する必要があります。
./manage.py schemamigration MyApp --inital
./manage.py migrate MyApp
その後、実行するたびに次のよう./manage.py syncdb
に表示されます。
Syncing...
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
Synced:
> south
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.messages
> django.contrib.staticfiles
> django.contrib.admin
> django.contrib.admindocs
Not synced (use migrations):
- MyApp
(use ./manage.py migrate to migrate these)
これにより、Southが管理するアプリ(セクション)とmanage.py syncdb
Southが管理しないアプリ(セクション)を区別できることがわかります。また、を使用することを思い出させます。Not synced
Synced
./manage.py migrate
重要な点は、を実行./manage.py schemamigration MyApp --inital
して実行する./manage.py migrate MyApp
前に、Southに新しいアプリを管理させること./manage.py syncdb
です。