Skip to main content

A simple Django app to be able to migrate back to a previous migration or to migrate back to a migration in a specific branch in a git repository or locally.

Project description

Django Migration Rollback

A Django package used to just make the python manage.py migrate a little easier for Django apps that commit their migrations and want a way to rollback to a previous migration without needing to check what the which one it is via python manage.py showmigrations or in the project's git repository.

Features

Able to set which branch in a git repository to rollback to using the custom command migraterollback or if you wish to just rollback to a previous migration only via migrateprevious. Note in order to use the rollback with a git repository's branch feature with git the project must have a .git file present.

Django migraterollback command

❯ python manage.py migraterollback polls feature/really-cool-branch
Attempting to go back to rollback polls to latest migration on branch feature/really-cool-branch
Operations to perform:
    Target specific migration: 0006_question5, from polls
Running migrations:
    Rendering model states...
DONE
    Unapplying polls.0007_question6...
OK

This command is used to migrate a Django app back to the migration found in a repository's branch (this will also migrate to that migration if behind).

  • An app must be specified as the first argument after the command to indicate which app you wish to rollback.
  • By default if no argument is specified after the app, the branch main will be used.

Django migrateprevious command

❯ python manage.py migrateprevious polls
Attempting to go back to rollback polls to previous migration
Operations to perform:
    Target specific migration: 0005_question4, from polls
Running migrations:
    Rendering model states...
DONE
    Unapplying polls.0006_question5...
OK

This command is used to migrate a Django app back to the previously applied migration.

  • An app must be specified as the first argument after the command to indicate which app you wish to migrate to the previously applied migration.

Installing

From PyPi

❯ pip install django-migration-rollback

From GitHub

❯ pip install git+ssh://git@github.com/jdboisvert/django-migration-rollback

Quick start

Add "migration_rollback" to your INSTALLED_APPS in the settings.py like this:

    INSTALLED_APPS = [
        ...
        'migration_rollback',
    ]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-migration-rollback-1.0.0.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file django-migration-rollback-1.0.0.tar.gz.

File metadata

  • Download URL: django-migration-rollback-1.0.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.12.0 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.5

File hashes

Hashes for django-migration-rollback-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6441290bd5e9a4e313cfb110b7165752564917b306f51f66e5b20065e30c2862
MD5 ed0fc4d9533ee79ef7f1a905accbd5db
BLAKE2b-256 3e53538b1bd4c23ec70b921fc2efd8f3713a8b8c7449e74e30e494f456123d13

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page