Django 处理迁移

示例

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

要创建迁移,请运行:

$ django-admin makemigrations <app_name>

这将在的migration子模块中创建一个迁移文件app_name。第一个迁移将被命名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