回滚 Django 中的最后一次数据库迁移

Vaibhav Vaibhav 2021年8月10日 2021年6月29日
回滚 Django 中的最后一次数据库迁移

在使用 Django 模型时,我们总是要使用迁移功能,如果我们更改模型,就迁移它。在某些情况下,我们必须还原或逆转迁移。Django 使恢复迁移变得容易。本文将向你展示在 Django 项目中回滚上次数据库迁移的方法。

使用 migrate 命令回滚 Django 迁移

要恢复迁移,我们可以使用 Django 的 manage.py 文件提供的 migrate 命令。考虑一个 Django 应用程序 System 和这个应用程序的 migrations 文件夹中的两个迁移文件。设两个迁移文件分别为 0005_second_last_migration0006_last_migration;请注意,0006 是已应用的最新迁移。

如果我们必须从 0006 迁移恢复到 0005 迁移,我们将运行以下命令:

python manage.py migrate System 0005
            --- OR ---
python manage.py migrate System 0005_second_last_migration

有必要提到应用程序名称,我们可以同时使用迁移号和文件名来恢复迁移。

如果我们必须反转这个 Django 应用程序 System 的所有迁移,我们将使用以下命令:

python manage.py migrate System zero

请记住,迁移有时是不可逆转的。通常,当对 Django 模型进行了一些重大更改时,就会出现这种情况。当我们尝试恢复到这样的迁移时,Django 会引发一个 IrreversibleError

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相关文章 - Django Migration