gpt4 book ai didi

django - 如何在 Django 1.7 中重置迁移

转载 作者:行者123 更新时间:2023-11-28 19:36:29 25 4
gpt4 key购买 nike

(我知道有一个标题与此相同,但问题不同)。

我设法让我的开发机器迁移和生产迁移不同步。

我有一个使用 South 的 Django 应用程序。我有自己的工作流程,运行良好(这可能不是正确的做事方式,但我没有遇到任何问题)。

基本上我有一个脚本可以将生产数据库转储复制到我的开发机器上。它还复制了迁移文件。这样两者就同步了,我可以像往常一样运行 South 命令。

现在我已经升级到 1.7,并开始使用迁移。当我使用以前的工作流程(复制数据库转储和从生产环境迁移文件)时,它没有检测到我的开发机器上的更改。

我已经通读了迁移文档,我发现正确的使用方法是

  1. 在我的开发机器上运行“make migrations”和“migrate”。
  2. 在我的开发机器上运行“迁移”以实际更改数据库
  3. 复制更改,包括迁移文件。
  4. 在生产机器上运行“迁移”。 (没有“makemigrations”步骤)

无论如何。现在一团糟。我想“重置”我的迁移并从头开始,从现在开始正确地做事。

我需要做什么?

  1. 删除迁移表的内容(在两台机器上)?
  2. 删除迁移文件夹的内容? (包括 init.py 文件)。
  3. 根据新文件的文档开始迁移。

我错过了什么吗?从生产环境(数据库和迁移文件)复制所有内容之后没有检测到我的开发机器上的任何更改是有原因的

最佳答案

我只会在两种环境中执行以下操作(只要代码相同)

  1. 删除您的迁移文件夹
  2. 从 django_migrations WHERE app = <your app name> 中删除.您也可以只截断此表。
  3. python manage.py makemigrations
  4. python manage.py migrate --fake

在此之后,您的所有更改都应该能够跨环境检测到。

关于django - 如何在 Django 1.7 中重置迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29253399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com