Django External Schema Evolution Branch
Django, via the command ./manage syncdb, can automatically build a database schema based on your applications models.py file. However, after you've done this once, it leaves you with two unpleasant follow-up options if you ever make any changes to your model structure:
- destroy your existing schema (along with all your data) and let ./manage syncdb rebuild it for you
- manage your own schema upgrades by writing your own SQL
Project deseb aims to fill this void by providing s third option:
- generate schema upgrades via the command: ./manage evolvedb
Installation Instructions
- cd into your project directory (where your manage.py is) or anywhere in your PYTHON_PATH
- run: svn checkout http://deseb.googlecode.com/svn/trunk/src/deseb
- add import deseb to the top of settings.py
Using deseb
- make modifications to your models.py (either a new or existing project)
- run ./manage evolvedb
- lather, rinse, repeat
Look at usage and a sample run.
Software requirements
- django-0.96.1 or latest django trunk or django-newforms-admin branch
- Worked with mysql 5.0 and postgresql 8.2. Not tested with other versions of these backends.
- May not work or work incorrectly with sqlite3.
- Patches highly appreciated ;)
Documentation
- project status
- FAQ
- full documentation