【问题标题】:How do you maintain user data when updating a Django site?更新 Django 站点时如何维护用户数据?
【发布时间】:2011-05-13 13:51:06
【问题描述】:

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

我怎样才能让现有用户留在新网站上?

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

感谢您的帮助!

【问题讨论】:

    标签: python mysql django-south django-database


    【解决方案1】:
    【解决方案2】:

    +1 向南,但是...

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 2012-06-04
      • 1970-01-01
      相关资源
      最近更新 更多