【发布时间】:2016-02-16 13:38:07
【问题描述】:
从现有数据库开始,我想更新它的架构。我改变了我的一个模型,然后运行
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 -
默认情况下,它会尝试应用所有可能的迁移(在我的例子中只有一个)。