【问题标题】:What is Migration? [duplicate]什么是迁移? [复制]
【发布时间】:2020-05-25 01:41:31
【问题描述】:

我对 Django 很陌生。当我启动一个应用程序并运行服务器时,有一个警告说有“17 个未应用的迁移”,但我不太确定它们的含义。

根据我的研究,迁移是在位置和应用系统之间移动数据。当您安装了一个新应用程序时,它具有一个新模型(这是应用程序与数据库交互的方式)。然后,您需要将以前和新应用程序的模型差异应用到数据库结构(数据库模式)。此操作称为迁移。

我不知道这是否正确。你能向我解释更多吗? 另外,计算机在应用迁移时会做什么?谢谢!

【问题讨论】:

    标签: django django-models migration


    【解决方案1】:

    迁移是 Django 记录您对模型所做的更改并将其添加到数据库中的方式。您需要进行迁移的原因是您已经对模型进行了更改并且没有将它们传播到您的数据库。请阅读此内容以获取更多信息,因为它会为您提供比本网站上的任何人更多的信息:https://docs.djangoproject.com/en/3.0/topics/migrations/

    【讨论】:

    • 如果我更改了模型但我没有将这些更改映射到数据库会发生什么?
    【解决方案2】:

    迁移是 Django 将您对模型所做的更改(添加字段、删除模型等)传播到数据库架构中的方式。它们被设计为大部分是自动的,但您需要知道何时进行迁移、何时运行它们以及您可能遇到的常见问题。

    要准备迁移文件,请运行以下命令。这有点像准备要应用的迁移。

    python manage.py makemigrations
    

    要将迁移实际提交到您的数据库,请运行以下命令:

    python manage.py migrate
    

    【讨论】:

    • 所以当你应用一个新系统时,首先你需要进行迁移(找到模型中的变化并弄清楚如何使数据库相应地适应这些变化)然后应用迁移(改变数据库结构或架构)。好的,谢谢!
    • 是的,对,如果有人在 stackoverflow 上帮助你,你也赞成他的回答。
    • 我尝试投票,但我的声望分数低于 15,因此没有记录大声笑。我稍后再试。
    猜你喜欢
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多