deseb


Django External Schema Evolution Branch



PROJECT HAS MOVED TO GITHUB!

Please click here: https://github.com/keredson/deseb

This repository is no longer supported.



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: 1. destroy your existing schema (along with all your data) and let ./manage syncdb rebuild it for you 1. manage your own schema upgrades by writing your own SQL

Project deseb aims to fill this void by providing s third option: 1. generate schema upgrades via the command: ./manage evolvedb

Installation Instructions

  1. cd into your project directory (where your manage.py is) or anywhere in your PYTHON_PATH
  2. run: svn checkout http://deseb.googlecode.com/svn/trunk/src/deseb
  3. add import deseb to the top of settings.py

Using deseb

  1. make modifications to your models.py (either a new or existing project)
  2. run ./manage evolvedb
  3. 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

Project Information

Labels:
django schemaevolution schema evolution database migration sql python