使用迁移

Django 使用迁移将你对模型所做的更改传播到数据库。大多数时候 django 可以为你生成它们。

要创建迁移,请运行:

$ django-admin makemigrations <app_name>

这将在 app_namemigration 子模块中创建一个迁移文件。第一次迁移将命名为 0001_initial.py,另一次将以 0002_ 开始,然后是 0003,…

如果省略 <app_name>,这将为你的所有 INSTALLED_APPS 创建迁移。

要将迁移传播到数据库,请运行:

$ django-admin migrate <app_name>

要显示所有迁移,请运行:

$ django-admin showmigrations app_name
app_name
  [X] 0001_initial
  [X] 0002_auto_20160115_1027
  [X] 0003_somemodel
  [ ] 0004_auto_20160323_1826
  • [X] 表示迁移已传播到你的数据库
  • [ ] 表示迁移未传播到你的数据库。使用 django-admin migrate 传播它

你也可以调用还原迁移,这可以通过将迁移名称传递给 migrate command 来完成。鉴于以上迁移列表(由 django-admin showmigrations 显示):

$ django-admin migrate app_name 0002  # Roll back to migration 0002
$ django-admin showmigrations app_name
app_name
  [X] 0001_initial
  [X] 0002_auto_20160115_1027
  [ ] 0003_somemodel
  [ ] 0004_auto_20160323_1826