Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/charettes/django-mutant
Dynamic model definition and alteration (evolving schemas)
https://github.com/charettes/django-mutant
Last synced: 6 days ago
JSON representation
Dynamic model definition and alteration (evolving schemas)
- Host: GitHub
- URL: https://github.com/charettes/django-mutant
- Owner: charettes
- License: mit
- Created: 2012-01-17T05:00:05.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2021-12-28T18:07:11.000Z (about 3 years ago)
- Last Synced: 2025-01-12T11:13:47.089Z (14 days ago)
- Language: Python
- Homepage: https://pypi.python.org/pypi/django-mutant
- Size: 780 KB
- Stars: 241
- Watchers: 26
- Forks: 34
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - django-mutant - Dynamic model definition and alteration (evolving schemas) (Python)
README
#############
django-mutant
#############Dynamic model definition and alteration (evolving schemas).
.. image:: https://travis-ci.org/charettes/django-mutant.svg?branch=master
:target: https://travis-ci.org/charettes/django-mutant.. image:: https://coveralls.io/repos/charettes/django-mutant/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/charettes/django-mutant?branch=master********
Overview
********`Django`_ provides a great ORM and with the power of `migrations`_ one can easily perform schema alteration.
However, some projects may require *runtime* schema alteration and that's what `django-mutant`_ provides.
The main concept was inspired by those projects:
- Will Hardy `dynamic-models`_'s `documentation`_ and `talk`_.
- And by `django-dynamo`_... _`Django`: https://www.djangoproject.com/
.. _`migrations`: https://docs.djangoproject.com/en/stable/topics/migrations/
.. _`django-mutant`: https://github.com/charettes/django-mutant
.. _`dynamic-models`: https://github.com/willhardy/dynamic-models
.. _`documentation`: http://dynamic-models.readthedocs.org/en/latest/index.html
.. _`talk`: http://2011.djangocon.eu/talks/22/#talkvideo
.. _`django-dynamo`: https://bitbucket.org/schacki/django-dynamo************
Installation
************::
pip install django-mutant
Make sure ``'django.contrib.contenttypes'`` and ``'mutant'`` are in
your ``INSTALLED_APPS``::
INSTALLED_APPS += ('django.contrib.contenttypes', 'mutant')
**********************************************
Migrating to django-mutant 0.2 and Django 1.7+
**********************************************If you used ``mutant`` with Django < 1.7 and are willing to migrate forward
you'll have to run the following steps in order to make sure you database
schema is synchronized with Django's migration state.1. Fake the initial ``mutant`` migration.
2. For every ``mutant.contrib`` application you installed make sure to fake
their initial migration and run their following migration. For example,
if you had the ``mutant.contrib.boolean`` application installed you want to
run ``manage.py migrate boolean --fake 0001 && manage.py migrate boolean``**********
Resources
**********
- `DjangoCon Europe 2013 talk`_ about mutant and other dynamic model alternatives given by Juergen Schackmann.
- `A getting started guide`_ with mutant guide by @integricho... _DjangoCon Europe 2013 talk: https://www.youtube.com/watch?v=67wcGdk4aCc
.. _A getting started guide: http://integricho.github.io/2013/07/22/mutant-introduction/***************************
Get in touch and contribute
***************************From now on I think the best way to contribute and get in touch is using github messaging system (issues and pull requests).