Django reset migrations with `zeromigrations` command with backup feature
Project description
As the project grows up, the number of migration files increases over time. As a result, running them can consume a lot of time, specifically when you are running your tests.
zeromigrations is a command to reset migration files. It basically runs 4 commands:
migrate --fake {app_name} zero for each app.
Remove old migration files, as new migrations is going to be generated.
makemigrations to generate initial migration file.
migrate --fake-initial to fake generated initial files.
But besides that, this command can make a backup to restore in case of any failure.
Note that migrate --fake command only runs for your own apps and django apps like contenttype and third-party apps are excluded.
Installation
First install the package:
pip3 install django-zeromigrations
Then add it to your INSTALLED_APPS:
INSTALLED_APPS = [
...
"zero_migrations"
]
Usage
First, run the command:
python manage.py zeromigrations --backup-path=<YOUR_PATH>
I suggest to make a backups from both your migrations and django_migrations table (just in case).
1- make backup
2- restore last backup
3- just proceed
If you choose 1- make backup, it would make a backup then zero migrations.
If you choose 2- restore last backup, it tries to restore the latest backup that can be found. If not backup found, it would raise an error.
If you choose 3- just proceed, it assumes that you already have your own backup and start setting migrations zero.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for django_zeromigrations-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5edce072d24b091d993883d7796953fd8e4891c3a9322f8e8d1eb81815cdf9bf |
|
MD5 | 4ae416e03c7f587d67e74a7afcc97bc1 |
|
BLAKE2b-256 | 67dbbdc64aeb46b60cb82709349f2ca9f0a334946604e015a38494b79bfe1687 |