2010-11-22 55 views
0

我有一个现有的Django网站,已经有注册用户。我试图用一个与原始网站不同的新版本更新网站 - 类似的想法,但不同的模型。更新Django网站时如何维护用户数据?

如何保持当前用户在新网站上?

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

感谢您的帮助!

回答

0

+1到南,但......

我们需要更多的信息!你是否对模型做过彻底的改变,或者只是在这里或那里添加或删除字段?

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

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

编写&测试迁移脚本,并且在此之后,您可以创建另一个更改列表以删除所有旧对象,然后删除其相应的源代码(如果需要)。