出现要应用某些迁移的消息“没有要应用的迁移”

时间:2019-03-18 16:51:36

标签: django django-models

我为我的自定义用户模型添加了一个名为“ city”的新字段。我将运行 makemigrations ,它将在迁移文件夹中创建新文件:

migrations.AddField(
    model_name='customuser',
    name='city',
    field=models.CharField(blank=True, max_length=100, null=True, verbose_name='City'),
)

通过运行 migration ,它确实可以在 Windows 中迁移,并且新字段将添加到我的表中。

我在 Linux 命令行中执行相同的操作;它通过运行 makemigrations 在新的迁移文件中创建相同的更改,但是当 我运行 migration ,它告诉我没有要应用的迁移,并且没有向数据库中的表添加新字段。

以前,我掩饰了这个问题,并最终创建了新的数据库,因为我处于开发阶段,并且它解决了该问题。但是,到了要点,我需要找出正在发生的事情,或者找到一种解决方法以某种方式强制执行更改。

我也尝试了迁移-fake-initial ,但问题仍然存在。

我想知道以前是否有人看过这个问题,请问可以建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

只要我们运行python manage.py migrate django,就将migrations-folder中所有应用的迁移与django_migrations模型进行同步。如果migration-folder中存在不属于django_migrations模型条目的迁移,则该迁移将应用于模型。每当我们使用相同的数据库表时,这很可能会应用一次。因此,我们需要检查django_migrations的天气情况,是否已经应用迁移。即使是一个人也可以从其中手动删除一项,这不会对开发环境造成任何问题。不了解生产发展规则。很有可能不会。