更新Django站点时如何维护用户数据?

时间:2010-11-22 00:13:24

标签: python mysql django-south django-database

我有一个已注册用户的实时Django网站。我正在尝试使用与原始网站不同但与不同模型不同的新版本更新网站。

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

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

+1到南方,但是......

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

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

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

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