Django - 部署syncdb和South

标签 django deployment django-south

我正在新的开发环境中部署一个项目。

当我使用 South 时,我做了:

$ python manage.py syncdb --all
$ python manage.py migrate --fake

我使用 syncdb --all 来应用模型的实际状态。

然后migrate --fake 将所有模型标记为已迁移。

但之后,我的模型不再是最新版本(缺少字段)

我做错了什么?


我假设我的所有修改都有迁移。

如果我这样做

$ python manage.py syncdb

它似乎创建了自从我使用 South 以来的第一个状态(这是预期的)
但后来

$ python manage.py migrate

某些表显示为已创建

最佳答案

实际上这对于我的情况来说应该没问题

$ python manage.py syncdb --all
$ python manage.py migrate --fake

最近不得不重新部署我的应用程序,我遇到了同样的问题。
我刚刚意识到我在模型上进行了双重初始迁移导致了问题

0001_initial.py
0002_initial.py
0003_auto__add_field_mytable_myfield.py

我只是删除并重命名

0001_initial.py
0002_auto__add_field_mytable_myfield.py

然后重做整个数据库部署(显然没有忘记更新我的其他主机上已应用的迁移)

关于Django - 部署syncdb和South,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121737/

相关文章:

deployment - 如何在 EA(企业架构师)中跨不同设备重用软件组件?

deployment - 在 SPSS 18 中指定相对路径

python - 使用 South 创建 Django 缓存表?

python - 我可以更改模型字段的类型吗?

python - 为什么我的南迁不起作用?

python - Django modelform 外键更新

python - 使用 get_or_create 的正确方法?

python - 在 django 中不使用交互式 python shell 将值插入数据库表

python - django-mptt 在标准 ModelAdmin 中嵌套下拉菜单?

ruby-on-rails -/usr/bin/env : passenger: No such file or directory and with exit status 1 (failed)