How to Revert the Last Migration?

Naveera A.

The Problem

You made changes to a model and made migrations, but you’ve realized it wasn’t the right thing to do and would like to revert. How can you do that without making a new migration?

How can you revert the last migration in Django?

The Solution

You can reverse a migration using the migrate command with the number of the previous migration.

Let’s say you have an app called recipes.

You can see a list of all the migrations in the migrations folder or by running the following command:

python manage.py showmigrations recipes

You may have the following migrations in your recipes app:

  • 0001_initial.py
  • 0002_recipepage.py
  • 0003_recipeindex.py

If you want to undo the 0003_recipeindex migration, you can do it like so:

python manage.py migrate recipes 0002_recipepage

You can shorten the command by leaving out the full migration name. Just use the migration number:

python manage.py migrate recipes 0002

Make sure that everything is working the way it should, then you can delete 0003_recipeindex.py.

If you want to reverse all migrations for your app, you can use the name zero, like so:

python manage.py migrate recipes zero

Keep in mind that certain irreversible operations can make a migration irreversible. If you try to reverse an irreversible migration, you will get an IrreversibleError.

You can read more about Django migrations on the official documentation.

Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.