Django 1.7同步未迁移的应用程序

7
我开始编写我的模型:
我的应用程序中的models.py文件:
class MyModel(models.Model):

    field_a = models.FloatField()
    field_c = models.FloatField()

然后在我的新项目上运行./manage.py migrate,一切都很顺利:

Operations to perform:
  Synchronize unmigrated apps: myapp
  Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
  Creating tables...
    Creating table myapp_mymodel
  Installing custom SQL...
  Installing indexes...
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying sessions.0001_initial... OK

然后我改变了我的模型:

class MyModel(models.Model):

    field_a = models.FloatField()
    field_b = models.FloatField()
    field_c = models.FloatField()

我再次运行了./manage.py migrate,但没有任何反应。
(project)$ ./manage.py migrate 
Operations to perform:
  Synchronize unmigrated apps: myapp
  Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
  Creating tables...
  Installing custom SQL...
  Installing indexes...
Running migrations:
  No migrations to apply.

我想知道我需要做什么来使我的新应用进行迁移?
2个回答

14

啊,我自己回答了问题。

我需要运行以下命令:

./manage.py makemigrations myapp

4
如果即使您已经运行了“makemigrations”命令,这种情况仍在发生,则需要检查迁移文件夹中是否存在“__initial__.py”空文件。我曾经遇到过这样的情况,当时我在测试远程服务器上运行创建迁移的操作,尽管我已经将所有创建的迁移文件复制到了我的代码中,但我忘记复制占位符空文件,该文件有助于“migrate”命令识别具有要运行的迁移的应用程序。
希望能对某些人有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接