【问题标题】:Is there a way to generate new `models.py` based on migration files in Django有没有办法根据Django中的迁移文件生成新的`models.py`
【发布时间】:2015-05-09 19:37:08
【问题描述】:

假设您有一个旧的 models.py 和数十个 00**_foo_bar.py 迁移文件,现在您想要一个新的开始。有没有办法/命令根据旧的models.py 和那些迁移文件自动生成新的models.py

【问题讨论】:

  • 我知道您可能想重置迁移,但为什么需要新的模型文件?迁移代表了进入 models.py 的当前状态所需的步骤,与当前的状态相比不应有任何变化。

标签: python django django-models django-south


【解决方案1】:

您的模型文件应该是最新的 - 如果有多次迁移,它们是由模型文件的更改引起的。在这种情况下,你应该考虑压缩你的迁移,这很容易——只要你没有任何部署在那里你会被冷落(即部署存在于迁移 15 并且你 squash 0-20一起。他们如何找到迁移的方式 20?)

迁移文档:https://docs.djangoproject.com/en/1.8/topics/migrations/#squashing-migrations

现在,如果你有一个数据库(通常是旧的)但你想生成 models.py,你可以使用 inspectdb 命令。请记住——这不会对自定义行为进行编码,并对数据类型进行大量猜测,但这可能是一个好的开始。文档如下。

检查数据库:https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-inspectdb

【讨论】:

    猜你喜欢
    • 2023-02-04
    • 1970-01-01
    • 2013-09-09
    • 2020-09-08
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多