如何解决在South migration之前或之后,我是否需要调用syncdb
| 我是南方的新手,所以我想知道是否需要打电话给./manage.py syncdb
或做
./manage.py schemamigration appname --auto
./manage.py migrate appname
在所有情况下,South都能自己处理就足够了。
解决方法
南部不在项目范围内。它是应用程序范围。
有些应用程序使用南方,有些应用程序不使用南方。
如果应用程序集成在南方,则要进行数据库更改
./manage.py schemamigration appname --auto
./manage.py migrate appname
但并非所有应用程序都与南方集成。
当您在项目中添加不使用南方的新应用时,您需要为这些应用调用ѭ3。 (例如,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)
您可以看到,ѭ10可以区分由South管理的应用(Not synced
部分)和不是由South管理的应用(Synced
部分)。它还提醒您使用./manage.py migrate
。
重要的一点是让South在执行./manage.py syncdb
之前先执行./manage.py schemamigration MyApp --inital
和./manage.py migrate MyApp
来管理新应用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。