Pycharm:makemigrations和migrate忽略我的更改

时间:2015-07-28 10:48:54

标签: django django-models manage.py

以下是我一直在做的事情,我认为这不是正确的解决方案:

  • 修改我的模型
  • 删除db.sqlite3文件
  • 启动makemigrations,然后migrate

如果我删除db.sqlite3文件,当我尝试运行makemigrations然后migrate时,我会这样做:

manage.py@pyweb > makemigrations
"C:\Program Files (x86)\JetBrains\PyCharm 4.5.3\bin\runnerw.exe" C:\Python34\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 4.5.3\helpers\pycharm\django_manage.py" makemigrations C:/Users/Olivier/PycharmProjects/pyweb
No changes detected

Process finished with exit code 0
manage.py@pyweb > migrate
"C:\Program Files (x86)\JetBrains\PyCharm 4.5.3\bin\runnerw.exe" C:\Python34\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 4.5.3\helpers\pycharm\django_manage.py" migrate C:/Users/Olivier/PycharmProjects/pyweb
Operations to perform:
  Synchronize unmigrated apps: staticfiles, messages, produits
  Apply all migrations: sessions, auth, contenttypes, admin
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  No migrations to apply.

Process finished with exit code 0

为避免删除db文件,我错过了哪一步?

1 个答案:

答案 0 :(得分:2)

更改模型后,您只需

python manage.py makemigrations your_app

然后使用

进行迁移
python manage.py migrate

这样做你不必删除你的数据库。 我希望这有助于你..但是不要忘记在对模型应用更改后运行makemigrations