Django-在其依赖项之前应用迁移

问题描述 投票:0回答:1

我正在处理Django项目,遇到了一些麻烦,同事们帮助我解决了。但是,当我们调查此问题时,她删除了一个迁移,因为它似乎引起了一些问题。最后,问题与此无关,但她现在离开了公司。

该项目似乎很好,直到我尝试对模型进行更改并运行“ makemigrations”和“ migrate”,并看到一些错误,并指出Migration <migration_name> is applied before its dependency <migration2> on database 'default'

关于我在网上看到的信息以及我的同事告诉我的,我决定删除本地数据库和迁移,然后重新进行。但是,当我尝试从头开始进行迁移时,出现了一些错误,并且尝试恢复生产服务器中的迁移并将其复制到本地项目中,以便进行迁移而不是在本地项目中生成。

但是,即使我从生产服务器获得了“良好”的迁移,我仍然无法正常运行项目,它仍然说在依赖它之前已经应用了迁移。我尝试使用

分别迁移每个迁移

python manage.py migrate project_name migration_name

但是它说的是相同的确切错误,所以我不知道我的语法是否不正确或我不了解什么。您会建议我做什么,或者我所做的事情可能出什么问题?我是Django的新手,所以我不知道要看哪里了。

django django-migrations
1个回答
0
投票

确实必须以正确的顺序应用迁移,并且此顺序由迁移文件中dependencies类的Migration属性指示。

有时,由于各种原因(通常是由于在两个不同的分支中创建了两个迁移),所以此属性的值最终是错误的。正确的解决方案是,简单地检查错误消息中指示的迁移文件(以及之间的某些迁移,等等),并手动更正每个文件之间的依赖关系,以使您回到一致的顺序。

© www.soinside.com 2019 - 2024. All rights reserved.