0

我有一个已经注册用户的实时 Django 站点。我正在尝试使用与原始站点不同的新版本来更新站点 - 类似的想法但不同的模型。

如何让当前用户留在新网站上?

我听说 South 可能是一个很好的解决方案,但旧站点没有安装它。在这种情况下可以使用 South 吗?

谢谢您的帮助!

4

2 回答 2

2

http://south.aeracode.org/docs/convertinganapp.html#converting-an-app

于 2010-11-22T00:24:31.003 回答
0

+1 向南,但是...

我们需要更多信息!您是在对模型进行彻底的更改,还是只是在此处或那里添加或删除字段?

South 可以处理一些非常激进的迁移,但您必须编写一些自定义迁移代码。就个人而言,如果我要添加一个新字段,我会使用 South,但不会用于这种更激进的东西。

如果这是一个大的架构更改,完全重新组织您的站点,那么我只需编写您自己的脚本来读取旧对象并创建新对象。制作生产数据库的副本(通过 pg_dump、mysqldump 等)并将其加载到本地计算机上,您可以在其中测试和调试自定义转换脚本。确保您的“旧模型”和“新模型”具有不同的名称,并将所有内容保存在您的 settings.py 中,以便您始终可以读取和写入所有内容。

编写并测试迁移脚本,然后,您可以创建另一个更改列表以删除所有旧对象,然后根据需要删除其相应的源代码。

于 2010-11-22T06:04:32.417 回答