我一直在与django + south合作一段时间,但仍然没有把这个问题钉死。
使用现有应用程序和随时间添加的现有迁移来获取现有项目。现在假设您要将它部署到具有干净数据库的新开发机器(例如)。
这个过程会是什么?
请记住此时的设置包含:
INSTALLED_APPS = (
'django.contrib.auth',
# ...
'south',
'myapp1',
'myapp2',
)
因此,一方面,如果您尝试运行迁移,则由于尚未存在任何数据库,因此您将无法获得任何内容。但是,如果您尝试syncdb
,它只会在没有南迁移的情况下进行同步。
那么正确的流程是什么?
答案 0 :(得分:5)
syncdb,然后迁移怎么样?
$ python manage.py syncdb
$ python manage.py migrate
South的补丁syncdb管理命令最后会告诉你:
$ python manage.py syncdb
Syncing...
Creating tables ...
Installing custom SQL ...
Installing indexes ...
No fixtures found.
Synced:
> django.contrib.auth
Not synced (use migrations):
- myapp1
- myapp2
(use ./manage.py migrate to migrate these)