我正在开发一个带有MySQL数据库的Django 1.8.5应用程序,还有另外两个开发人员。
我们对models.py进行了更改,现在我正在尝试运行迁移。当我运行python manage.py makemigrations
时,它会返回“未检测到任何更改”。当我运行python manage.py migrate
时,它会返回:
Operations to perform:
Synchronize unmigrated apps: webstack_django_sorting, staticfiles,
debug_toolbar, messages, linaro_django_pagination, humanize, django_tables2
Apply all migrations: admin, schools, contenttypes, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
No migrations to apply.
我已尝试删除迁移文件/重置迁移,如其他帖子中所述,并且在删除/重置后运行makemigrations
或migrate
命令时没有任何更改。
我也试过python manage.py makemigrations app_name
,但得到的结果相同。
我团队中的另外两名开发人员已成功运行迁移命令。当他们运行python manage.py makemigrations
时,系统会提示他们重命名旧字段以匹配我们应用中两个模型中的新字段。我没有被提示这个;正如我上面提到的,我被告知没有检测到任何变化。
我正在使用相同的代码;今天早上从GitHub取出它,我们确保我正在使用的是最新版本。它是。
当我在本地服务器上查看应用程序时,没有任何内容显示在应有的位置,表明数据库为空。
还有什么想法尝试?
答案 0 :(得分:0)
在django 1.11中发生了类似的事情,这是因为当我删除迁移文件并重置数据库中的迁移表时,我不小心删除了迁移文件夹中的init文件。
你应该有类似的东西,以便django可以创建新的迁移文件:
. . .
├── my_app
│ ├── admin.py
│ ├── admin.pyc
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── __init__.py
│ ├── models.py
│ ├── tests.py
├── manage.py
. . .
希望它有所帮助!