django-evolution


Namedjango-evolution JSON
Version 2.4.1 PyPI version JSON
download
home_pagehttps://github.com/beanbaginc/django-evolution
SummaryA database schema evolution tool for the Django web framework.
upload_time2024-11-04 00:39:46
maintainerBeanbag, Inc.
docs_urlNone
authorBeanbag, Inc.
requires_python!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ================
Django Evolution
================

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.


.. _Django: https://www.djangoproject.com/


What versions of Django are supported?
--------------------------------------

Django Evolution 2.x supports Django 1.6 through 4.2, and Python 2.7 through
3.12.

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 <https://django-evolution.readthedocs.org>`_
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?"

.. _Django: https://www.djangoproject.com/
.. _install it:
   https://django-evolution.readthedocs.io/en/latest/installation.html
.. _configure it:
   https://django-evolution.readthedocs.io/en/latest/installation.html
.. _generate evolutions:
   https://django-evolution.readthedocs.io/en/latest/writing-evolutions.html
.. _apply them:
   https://django-evolution.readthedocs.io/en/latest/commands/evolve.html
.. _answers:
   https://django-evolution.readthedocs.io/en/latest/faq.html


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.


.. _Beanbag: https://beanbaginc.com/
.. _Review Board: https://www.reviewboard.org/

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/beanbaginc/django-evolution",
    "name": "django-evolution",
    "maintainer": "Beanbag, Inc.",
    "docs_url": null,
    "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7",
    "maintainer_email": "reviewboard@googlegroups.com",
    "keywords": null,
    "author": "Beanbag, Inc.",
    "author_email": "reviewboard@googlegroups.com",
    "download_url": "https://files.pythonhosted.org/packages/43/59/4ceb3c8ada2b646cf0e57b5ecec936438ced3345e79a1387eb8367dcdd51/django_evolution-2.4.1.tar.gz",
    "platform": null,
    "description": "================\nDjango Evolution\n================\n\nDjango Evolution is an add-on to the Django_ web framework that helps manage\nchanges to the database schema.\n\n\"But wait, why would I want this? Doesn't Django have migrations built-in?\nIsn't this the same thing?\"\n\nYes, yes it does, and it mostly is. In fact, Django Evolution works\ncomfortably alongside Django's migrations, helping you get the best out of\nboth.\n\nThere are cases where you might want an alternative to migrations:\n\n1. You're still stuck on Django 1.6 or earlier and need to make changes to\n   your database.\n\n   Django 1.6 is the last version without built-in support for migrations,\n   and there are still codebases out there using it. Django Evolution can\n   help keep upgrades manageable, and make it easier to transition all or\n   part of your codebase to migrations when you finally upgrade.\n\n2. You're distributing a self-installable web application, possibly used in\n   large enterprises, where you have no control over when people are going to\n   upgrade.\n\n   Django's migrations assume some level of planning around when changes are\n   made to the schema and when they're applied to a database. The more changes\n   you make, and the more versions in-between what the user is running and\n   what they upgrade to, the longer the upgrade time.\n\n   If a customer is in control of when they upgrade, they might end up with\n   *years* of migrations that need to be applied.\n\n   Migrations apply one-by-one, possibly triggering the rebuild of a\n   table many times during an upgrade. Django Evolution, on the other hand,\n   can apply years worth of evolutions at once, optimized to perform as few\n   table changes as possible. This can take days, hours or even *seconds* off\n   the upgrade time.\n\n\n.. _Django: https://www.djangoproject.com/\n\n\nWhat versions of Django are supported?\n--------------------------------------\n\nDjango Evolution 2.x supports Django 1.6 through 4.2, and Python 2.7 through\n3.12.\n\nFor older versions of Django, see Django Evolution 0.7.\n\nThere's built-in support for evolving SQLite, Postgres, MySQL, and MariaDB\ndatabases.\n\n\nI can't imagine anything better... How do I start?\n--------------------------------------------------\n\nWe have a `bunch of documentation <https://django-evolution.readthedocs.org>`_\njust for you!\n\nThere, you'll find out how to `install it`_, `configure it`_ for your project,\n`generate evolutions`_, and `apply them`_.\n\nPlus, answers_ to all^W some of your burning questions, like \"how do these work\nwith migrations?\" and \"why is my syncdb/migrate command weird now?\"\n\n.. _Django: https://www.djangoproject.com/\n.. _install it:\n   https://django-evolution.readthedocs.io/en/latest/installation.html\n.. _configure it:\n   https://django-evolution.readthedocs.io/en/latest/installation.html\n.. _generate evolutions:\n   https://django-evolution.readthedocs.io/en/latest/writing-evolutions.html\n.. _apply them:\n   https://django-evolution.readthedocs.io/en/latest/commands/evolve.html\n.. _answers:\n   https://django-evolution.readthedocs.io/en/latest/faq.html\n\n\nWho's using Django Evolution today?\n-----------------------------------\n\nThere's dozens of us! Dozens!\n\nAt Beanbag_ we're using it in `Review Board`_, our open source code review\nproduct, used by thousands of companies world-wide. So we know it works.\nReview Board predated Django's migrations by a whole lot of years, and\ncontinues to benefit from the optimized upgrade times of evolutions today.\n\n\n.. _Beanbag: https://beanbaginc.com/\n.. _Review Board: https://www.reviewboard.org/\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "A database schema evolution tool for the Django web framework.",
    "version": "2.4.1",
    "project_urls": {
        "Download": "https://downloads.reviewboard.org/releases/django-evolution/2.4/",
        "Homepage": "https://github.com/beanbaginc/django-evolution"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52be434fe9600950b9422a4ae9a7ad07501703d1c2549335b4344f57c938623b",
                "md5": "b1c2b9f68ccf229044a905cb8988696f",
                "sha256": "a7df6ac68752c814778fcf8b4753269268577bc9ba04154c72683e961ca8da3a"
            },
            "downloads": -1,
            "filename": "django_evolution-2.4.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b1c2b9f68ccf229044a905cb8988696f",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7",
            "size": 344092,
            "upload_time": "2024-11-04T00:39:44",
            "upload_time_iso_8601": "2024-11-04T00:39:44.666219Z",
            "url": "https://files.pythonhosted.org/packages/52/be/434fe9600950b9422a4ae9a7ad07501703d1c2549335b4344f57c938623b/django_evolution-2.4.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43594ceb3c8ada2b646cf0e57b5ecec936438ced3345e79a1387eb8367dcdd51",
                "md5": "01466ae24a2a0c02470bceb469e3b4ea",
                "sha256": "67b3b1678f7f5477a3fef91a8ad46336d6a0f8c726d9f5b1581be7ee90c37142"
            },
            "downloads": -1,
            "filename": "django_evolution-2.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "01466ae24a2a0c02470bceb469e3b4ea",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7",
            "size": 313683,
            "upload_time": "2024-11-04T00:39:46",
            "upload_time_iso_8601": "2024-11-04T00:39:46.868507Z",
            "url": "https://files.pythonhosted.org/packages/43/59/4ceb3c8ada2b646cf0e57b5ecec936438ced3345e79a1387eb8367dcdd51/django_evolution-2.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-04 00:39:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "beanbaginc",
    "github_project": "django-evolution",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "django-evolution"
}
        
Elapsed time: 0.34298s