我正在为我的django项目,开发和制作使用两个环境。大部分时间我都在开发dev,当我在模型中更改字段时,我正在使用south来迁移到新模型。
我不明白的是我现在如何将其转发到我的生产数据库?我正在做的是将我的代码提交到SVN并更新生产,然后尝试迁移。
我应该提交我的迁移目录和文件吗?或者我不应该?尝试在我的生产机器上迁移时似乎总是失败。
编辑: 我做了额外的测试。我已经清除了我的南部histroy表并删除了任何迁移目录。
现在在我的本地环境中运行:python manage.py convert_to_south app_name
一切似乎都很完美。我现在已经为我的模型添加了一个额外的字段并运行:python manage.py schemamigration app_name --auto新字段已按预期迁移到我的数据库中。现在,我使用.py文件提交了我的迁移文件夹(包含0001-initial和0002为我的新字段)
在我的开发环境中,我更新了包含迁移文件的树。我运行python manage.py syncdb。 south_migrationhistory表已创建,但 enpty 。
现在我运行python manage.py schemamigration app_name --auto并得到: “似乎没有任何改变。”
south_migrationhistroy仍然是空的.....我不知道我在这里做错了什么
答案 0 :(得分:0)
您应该提交迁移目录和文件。当您执行svn更新时,南方现在知道如何处理新的迁移。
South查找名为south_migrationhistory
的数据库表,以查看已应用的迁移,并基于此应用迁移文件夹中指定的新迁移。如果您没有签入新的迁移文件,它将始终以“无新更新”结束。