Django migrations without unnecesary change alert triggers.
Project description
Django Simple Migrations
Django migrations without unnecesary change alert triggers.
This project was originally taken from Pretix source code and battle testet across many projects on SoftButterfly.
This package overrides the commands makemigrations
and migrate
, mainly to make that makemigrations
doesn't create migrations on non-significant database model fields and avoid migrate
warnings. As is stated in the source code
-
makemigrations
Django, for theoretically very valid reasons, creates migrations for every single thing we change on a model. Even the
help_text
! This makes sense, as we don't know if any database backend unknown to us might actually use this information for its database schema.However, many projects only supports PostgreSQL, MySQL, MariaDB and SQLite and we can be pretty certain that some changes to models will never require a change to the database. In this case, not creating a migration for certain changes will save us some performance while applying them and allow for a cleaner git history. Win-win!
Only caveat is that we need to do some dirty monkeypatching to achieve it...
-
migrate
Django tries to be helpful by suggesting to run "makemigrations" in red font on every "migrate" run when there are things we have no migrations for. Usually, this is intended, and running "makemigrations" can really screw up the environment of a user, so we want to prevent novice users from doing that by going really dirty and filtering it from the output.
Requirements
- Python 3.9, 3.10, 3.11, 3.12
Install
pip install django-sb-simple-migrations
Usage
Just add django_sb_simple_migrations
to your INSTALLED_APPS
settings
INSTALLED_APPS = [
# ...
"django_sb_simple_migrations",
# ...
]
Docs
Changelog
All changes to versions of this library are listed in the change history.
Development
Check out our contribution guide.
Contributors
See the list of contributors here.
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 Distribution
Built Distribution
File details
Details for the file django_sb_simple_migrations-0.9.0.tar.gz
.
File metadata
- Download URL: django_sb_simple_migrations-0.9.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.10.6-200.fc40.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28ca5f14c1ed944fd66c781af29cb85ed1197092680e704449389ca9faaefdef |
|
MD5 | e79f39168f3d9b36f5d850b12e2850ab |
|
BLAKE2b-256 | 03792a398fc05e090197f71ebcf9a2a80680df87acce6870f4a44be7752445f3 |
File details
Details for the file django_sb_simple_migrations-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: django_sb_simple_migrations-0.9.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.10.6-200.fc40.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f60a8f6bbde0bd8877833d2c3dba1274cf1b8939a1fc0f3f99e4bb43186ed23a |
|
MD5 | dc608e6dab7bb6ca8fa84173763ce6fa |
|
BLAKE2b-256 | 432e94e67c4d53632e55ab86083216d38ebb265e10e474cecf4a9cbb96256a16 |