【问题标题】:Confused migration in djangodjango中令人困惑的迁移
【发布时间】:2016-07-23 06:18:13
【问题描述】:

我在我的 django 网站上进行了一些不寻常的迁移:

我需要使用旧配置恢复数据库,因为旧网站仍在运行,我需要它的数据。

当我完成恢复过程后,我将如何迁移它?我可以再次运行旧迁移并稍后制作新迁移吗?或者 django 迁移系统可以识别当前的数据库配置并提出新的迁移?

这可能是一个简单的迁移(或不是),但我必须确定我之前在做什么。

抱歉我的英语不好。感谢您的帮助。

【问题讨论】:

  • 旧数据库是否也是用 django 创建的,只是类似于早期的状态,缺少一些新的迁移?
  • 是的,数据库是在旧网站使用的,状态较早。实际上,这是同一个 django 项目。但旧的也有旧版本的代码。
  • 那么您应该能够使用您创建的迁移简单地迁移数据库。迁移的状态存储在数据库中,因此将与其余数据一起恢复。不过,请先在测试环境中对其进行测试,以确保不会丢失任何数据。
  • 好的,现在就做。谢谢。

标签: django django-migrations


【解决方案1】:

您可以通过流程:

1.首先创建一个新的数据库namesay->NewProduction。

  1. 现在从您要删除的应用程序中删除所有迁移文件。
  2. 运行 python manage.py showmigrations 以查看哪些所有迁移已存在但未迁移。
  3. 从身份验证、站点、会话开始运行迁移命令,然后逐一运行您的应用。
  4. 转储您以前的数据库,但表明智.. 每次您确定转储一次表并将其推送到 NewProduction。
  5. 上述步骤将使您的 django_content_type、django_sessions 等表保持不变。
  6. 更改更新表中的所有 content_type_values,查看每个应用程序的 djang_content_type 表并相应更新。

这是我为项目迁移所做的正确解决方案。

【讨论】:

    猜你喜欢
    • 2020-06-14
    • 2022-01-21
    • 2022-01-17
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 2012-09-22
    • 2016-11-23
    相关资源
    最近更新 更多