Django删除了迁移目录

时间:2016-06-02 22:32:46

标签: django database-migration

在我的项目目录中,当我尝试更新我的代码时,我不小心删除了我的应用程序的迁移文件夹,现在我已经修改了模型,当我使用python manage.py makemigrations时,我收到以下消息:

Operations to perform:
    Apply all migrations: app_label
Running migrations:
   No migrations to apply.

我在迁移python manage.py makemigrations app_label

之前已经运行过此功能

2 个答案:

答案 0 :(得分:5)

您可以将迁移重置为初始migrate之前并重新开始。这不会删除数据库中的数据,而是会重置对迁移的跟踪。如果您的所有数据库都已迁移到同一级别,那么您可以在迁移跟踪中重新开始。

这里有一个StackOverflow问题已经解决了它:

How to reset migrations in Django 1.7?

简而言之,

./manage.py migrate --fake <app-name> zero

这会将跟踪重置为初始迁移之前。

然后,

./manage.py makemigrations <app-name>
./manage.py migrate <app-name>

重新创建初始迁移并应用它。

与往常一样,如果您的数据很重要,请先进行备份。

答案 1 :(得分:0)

只需在您的应用目录中创建一个名为migrations的新目录。 然后在该文件夹中创建一个名为__pycache__的空文件夹和一个名为__init__.py的空文件。然后只需进行迁移并迁移