从现有数据库开始,我想更新它的模式。我改变了我的一个模型,然后运行Django迁移不会更新我的数据库
python manage.py makemigrations myapp
它创建迁移,正确定义新的表和列。输出示例:
Migrations for 'myapp':
0001_initial.py:
- Create model Foo
- Add field Bar
- ...
然后我申请迁移:
python manage.py migrate --database mydb
我得到这样的输出:
Operations to perform:
Apply all migrations: admin, myapp, contenttypes, sessions, auth
Running migrations:
Rendering model states... DONE
Applying admin.0002_logentry_remove_auto_add... OK
Applying auth.0007_alter_validators_add_error_messages... OK
这似乎已经奏效。 Git告诉我,对应于“mydb”的sqlite文件已经改变。然而,它并没有将我的新表和列放在里面,它只是删除了内容,留下的空表与旧的模式一起。
我在做什么错?
尝试:'python manage.py migrate myapp' –
默认情况下,它会尝试应用每种可能的迁移(在我的情况中只有一种)。 – JulienD