Skip to main content

A database schema evolution tool for the Django web framework.

Project description

Django Evolution is an add-on to the Django web framework that helps manage changes to the database schema.

“But wait, why would I want this? Doesn’t Django have migrations built-in? Isn’t this the same thing?”

Yes, yes it does, and it mostly is. In fact, Django Evolution works comfortably alongside Django’s migrations, helping you get the best out of both.

There are cases where you might want an alternative to migrations:

  1. You’re still stuck on Django 1.6 or earlier and need to make changes to your database.

    Django 1.6 is the last version without built-in support for migrations, and there are still codebases out there using it. Django Evolution can help keep upgrades manageable, and make it easier to transition all or part of your codebase to migrations when you finally upgrade.

  2. You’re distributing a self-installable web application, possibly used in large enterprises, where you have no control over when people are going to upgrade.

    Django’s migrations assume some level of planning around when changes are made to the schema and when they’re applied to a database. The more changes you make, and the more versions in-between what the user is running and what they upgrade to, the longer the upgrade time.

    If a customer is in control of when they upgrade, they might end up with years of migrations that need to be applied.

    Migrations apply one-by-one, possibly triggering the rebuild of a table many times during an upgrade. Django Evolution, on the other hand, can apply years worth of evolutions at once, optimized to perform as few table changes as possible. This can take days, hours or even seconds off the upgrade time.

What versions of Django are supported?

Django Evolution 2.0 supports Django 1.6 through 3.1.

For older versions of Django, see Django Evolution 0.7.

There’s built-in support for evolving SQLite, Postgres, MySQL, and MariaDB databases.

I can’t imagine anything better… How do I start?

We have a bunch of documentation just for you!

There, you’ll find out how to install it, configure it for your project, generate evolutions, and apply them. Plus, answers to all^W some of your burning questions, like “how do these work with migrations?” and “why is my syncdb/migrate command weird now?”

Who’s using Django Evolution today?

There’s dozens of us! Dozens!

At Beanbag we’re using it in Review Board, our open source code review product, used by thousands of companies world-wide. So we know it works. Review Board predated Django’s migrations by a whole lot of years, and continues to benefit from the optimized upgrade times of evolutions today.

Download files

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

Source Distribution

django_evolution-2.0.tar.gz (211.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

django_evolution-2.0-py3.8.egg (532.3 kB view details)

Uploaded Egg

django_evolution-2.0-py3.7.egg (528.3 kB view details)

Uploaded Egg

django_evolution-2.0-py3.6.egg (527.7 kB view details)

Uploaded Egg

django_evolution-2.0-py3.5.egg (535.5 kB view details)

Uploaded Egg

django_evolution-2.0-py2.py3-none-any.whl (226.6 kB view details)

Uploaded Python 2Python 3

django_evolution-2.0-py2.7.egg (526.4 kB view details)

Uploaded Egg

File details

Details for the file django_evolution-2.0.tar.gz.

File metadata

  • Download URL: django_evolution-2.0.tar.gz
  • Upload date:
  • Size: 211.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0.tar.gz
Algorithm Hash digest
SHA256 a0bc983657de1b0bc5c8d29ddcbf7b6fb113685bf306ccc266cf22b8a77bd862
MD5 7e361299498028aa9693a435aaa6ac66
BLAKE2b-256 f4481da04df20ca79f03351ecd92bd55311f08da77ce55878175828ddefc2e80

See more details on using hashes here.

File details

Details for the file django_evolution-2.0-py3.8.egg.

File metadata

  • Download URL: django_evolution-2.0-py3.8.egg
  • Upload date:
  • Size: 532.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0-py3.8.egg
Algorithm Hash digest
SHA256 d5231ce3659a607683811282da88916386b7d9bc6cd5797df1bb61e2e771749b
MD5 b1e00804a948f629a7388f40a76e0e22
BLAKE2b-256 136164ad3a3abe298f4482c8031707a053c22534cdcd62d8203e0d72348f8e05

See more details on using hashes here.

File details

Details for the file django_evolution-2.0-py3.7.egg.

File metadata

  • Download URL: django_evolution-2.0-py3.7.egg
  • Upload date:
  • Size: 528.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0-py3.7.egg
Algorithm Hash digest
SHA256 b00606c0db3afbf4da5091e63cb9c2f178a1d1d80591c1f933117402951a6c7e
MD5 b04e52897d3f6ea01c9a45106d3f3e6f
BLAKE2b-256 48a16322ba6c41583179f5cc57123a9e6ab2c4a1adfa311cc3a900bc810e6155

See more details on using hashes here.

File details

Details for the file django_evolution-2.0-py3.6.egg.

File metadata

  • Download URL: django_evolution-2.0-py3.6.egg
  • Upload date:
  • Size: 527.7 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0-py3.6.egg
Algorithm Hash digest
SHA256 52c76ec58bc3a4a7d87003da8fb9667a02ca9ed8383428c8605a8c82202b6782
MD5 b1d7d42bafa2c8363fe088ac2cce8e48
BLAKE2b-256 395f3e3cbd40eb42441fadcfed1151586ded28f23dbd86f77249ea2b2af623b8

See more details on using hashes here.

File details

Details for the file django_evolution-2.0-py3.5.egg.

File metadata

  • Download URL: django_evolution-2.0-py3.5.egg
  • Upload date:
  • Size: 535.5 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0-py3.5.egg
Algorithm Hash digest
SHA256 8ae73d5663e856f0bb7bec8245eaebf901ef8fccb868d46d8983f575673e6fff
MD5 47b1c8665ff021af1d1c8a90adb5ecb6
BLAKE2b-256 b269903d5b47a77270a625df201fa2a7211bbd369a56eec5710b74adba8b7818

See more details on using hashes here.

File details

Details for the file django_evolution-2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: django_evolution-2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 226.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9ffe8e799f79f2397b5616d233582f8a78af5607367bcc4e61e77b68030b68fc
MD5 8d968c85023d08f0964d744161c2c89a
BLAKE2b-256 6eaad0acca4c21dd8f78bdaff31d2874e27c5f50d6b18f38a378db7606acd32f

See more details on using hashes here.

File details

Details for the file django_evolution-2.0-py2.7.egg.

File metadata

  • Download URL: django_evolution-2.0-py2.7.egg
  • Upload date:
  • Size: 526.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.16

File hashes

Hashes for django_evolution-2.0-py2.7.egg
Algorithm Hash digest
SHA256 6cf5cfd3917cc7591f0815d65263885ccb82b9a2096dde7140c05a02e7873ed3
MD5 5b0830b48fbc745b54e224d7b3ea1ff5
BLAKE2b-256 ae8f32c146abeb124db34b2395214041ef4c4a57d1a90daea89f0a2921c3368e

See more details on using hashes here.

Supported by

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