我有一个已经注册用户的实时 Django 站点。我正在尝试使用与原始站点不同的新版本来更新站点 - 类似的想法但不同的模型。
如何让当前用户留在新网站上?
我听说 South 可能是一个很好的解决方案,但旧站点没有安装它。在这种情况下可以使用 South 吗?
谢谢您的帮助!
我有一个已经注册用户的实时 Django 站点。我正在尝试使用与原始站点不同的新版本来更新站点 - 类似的想法但不同的模型。
如何让当前用户留在新网站上?
我听说 South 可能是一个很好的解决方案,但旧站点没有安装它。在这种情况下可以使用 South 吗?
谢谢您的帮助!
+1 向南,但是...
我们需要更多信息!您是在对模型进行彻底的更改,还是只是在此处或那里添加或删除字段?
South 可以处理一些非常激进的迁移,但您必须编写一些自定义迁移代码。就个人而言,如果我要添加一个新字段,我会使用 South,但不会用于这种更激进的东西。
如果这是一个大的架构更改,完全重新组织您的站点,那么我只需编写您自己的脚本来读取旧对象并创建新对象。制作生产数据库的副本(通过 pg_dump、mysqldump 等)并将其加载到本地计算机上,您可以在其中测试和调试自定义转换脚本。确保您的“旧模型”和“新模型”具有不同的名称,并将所有内容保存在您的 settings.py 中,以便您始终可以读取和写入所有内容。
编写并测试迁移脚本,然后,您可以创建另一个更改列表以删除所有旧对象,然后根据需要删除其相应的源代码。