gpt4 book ai didi

django - Django 的迁移是什么?

转载 作者:行者123 更新时间:2023-12-05 04:09:32 26 4
gpt4 key购买 nike

一段时间以来,我一直在思考这个概念,当我开始一个新的 Django 项目时,它敦促我应用迁移:

# python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

为什么我需要这样做?谁能给出一个简明的解释和一个简单的迁移用例?

编辑:我决定发布这个问题,因为我在 stackoverflow 上没有看到任何类似的问题,也许有比文档中更好的解释。

最佳答案

迁移是管理数据库架构更改的好方法。这有两个主要好处(在我看来):

1 - 如果你有一个应用程序的多个实例 - 开发 + 生产是典型的最小值,但可能是由其他人安装的应用程序(独立或与其他 Django 应用程序一起安装),迁移允许你,开发人员,到以安全和受控的方式传播数据库模式更改。您可以保证您的应用程序的任何最新版本(即,包括您最新的数据库模型)都将有一个正常运行的数据库来匹配。所以一般的答案是迁移以相对优雅的方式解决了一个非常普遍的问题。

2 - 具体来说,如另一个答案中所述,存在与用户和权限相关的初始迁移,即使对于绝对全新的 Django 项目也是如此。我能想到的任何重要的 Django 应用程序都需要这些表才能运行——也就是说,如果您不使用它们,那么可以说,您将无法从 Django 作为框架提供的大部分内容中获益。通过包括迁移,开发人员可以决定使用什么数据库(SQLite、MySQL、PostgreSQL 等)以及该数据库将驻留的位置,一旦您进行了这些设置(通常在项目的 settings.py 中),迁移就会进行照顾剩下的。

关于django - Django 的迁移是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45784533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com