从db获取当前的db迁移状态,而不是django中的模型

时间:2017-11-09 11:14:41

标签: django django-models migration

我需要的是获取描述db中当前结构的迁移,而不是我在模型文件中定义的内容,因为我的模型没有与db的结构对齐,所以我想获取当前状态然后应用我的修改在我的模型中定义并使它们对齐。 可能吗?怎么样?

1 个答案:

答案 0 :(得分:1)

Django-admin有一个从数据库创建模型的命令:inspectdb。您可以找到documentation here

这个想法是:

  • 首先使用inspectdb
  • 生成初始模型
  • 根据需要查看结果并更改字段类型,如果您了解更多,
  • 然后运行makemigrations以获取当前数据库和
  • 的迁移
  • 然后开始修改您的模型(以及您当前在应用中的内容)和
  • 再次运行makemigrations

这是一个相当复杂的操作,建议的方法是拥有两个数据库并将数据从第一个数据移动到新数据库。 Django将为您的数据库添加大量表,您可能不希望在遗留数据库中使用此表。这在this blog post

中有详细描述