有没有办法用模型中的更改来更新数据库?

Naf*_*Kay 3 django django-models django-database django-syncdb

可能重复:
更新django数据库以反映现有模型的更改

我过去曾经使用过Django,而我作为ORM工具遇到的挫折之一就是无法通过模型中的更改来更新现有数据库.(Hibernate做得非常好,使得更新和大量修改模型并将其应用到现有数据库非常容易.)有没有办法在不 每次擦除数据库的情况下执行此操作?在我想要玩的模型中的每次更改之后,必须重新生成管理员用户和网站变得非常古老.

Joh*_*ohn 9

你会想要看看南方.它提供了一个迁移系统,用于将架构更改以及数据从一个版本迁移到下一个版本.

它功能非常强大,绝大多数变化都可以通过简单的方式处理

manage.py schemamigration --auto
manage.py migrate
Run Code Online (Sandbox Code Playgroud)

自动功能确实有限制,特别是如果要在生产系统上运行更改,最终应检查--auto生成的代码以确保它正在按预期执行.

南方有一个很好的入门指南,并有详细记录.你可以在http://south.aeracode.org找到它