1

我为我的 django 项目使用了两个环境,开发和生产。我主要从事开发工作,当我更改模型中的字段时,我使用南迁移到新模型。

我不明白的是我现在如何将它传输到我的生产数据库?我正在做的是将我的代码提交到 SVN 并在生产中更新,然后尝试迁移。

我应该提交我的迁移目录和文件吗?还是我不应该?尝试在我的生产机器上迁移时似乎总是失败。

编辑:我做了额外的测试。我已经清除了我的南历史表并删除了所有迁移目录。

现在在我的本地环境中运行: 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 仍然是空的.....我不知道我在这里做错了什么

4

1 回答 1

0

您应该提交您的迁移目录和文件。当您执行 svn 更新时,South 现在知道如何处理您的新迁移。

South 查找一个名为south_migrationhistory以查看已应用哪些迁移的数据库表,并在此基础上应用迁移文件夹中指定的新迁移。如果您不签入新的迁移文件,它将始终以“无新更新”结束。

于 2013-04-03T14:21:57.810 回答