微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在South migration之前或之后,我是否需要调用syncdb

如何解决在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 举报,一经查实,本站将立刻删除。