正如标题所说,我似乎无法进行迁移。
该应用程序最初低于 1.6,所以我知道迁移最初不会存在,并且确实如果我运行 python 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.
如果我对 myapp
中的任何模型进行更改,它仍然显示未迁移,正如预期的那样。
但如果我运行 python manage.py makemigrations myapp
我会得到:
No changes detected in app 'myapp'
我运行命令的内容或方式似乎并不重要,它永远不会检测到应用程序有更改,也不会向应用程序添加任何迁移文件。
有什么方法可以强制应用迁移并基本上说“这是我的工作基地”或其他什么?还是我错过了什么?
如果有帮助的话,我的数据库是 PostgreSQL 数据库。
最佳答案
如果您要从您在 django 1.6 中制作的现有应用程序进行转换,那么您需要执行文档中列出的一个前置步骤(正如我发现的那样):
python manage.py makemigrations your_app_label
文档并没有明确说明您需要将应用标签添加到命令中,因为它告诉您要做的第一件事是 python manage.py makemigrations
这将失败。当您在 1.7 版本中创建应用程序时,初始迁移已完成,但如果您来自 1.6,则不会执行。见 'Adding migration to apps'在文档中了解更多详细信息。
关于python - Django 1.7 - makemigrations 未检测到更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24912173/