Error: Failed to load processor AutoNav
No macro or processor named 'AutoNav' found

Django Schema Evolution

You can find the results within Django Rework

Django Status

Django does currently (June 2006) not support schema evolution. Plans and Documentations are available, and a implementation project has just started (Google Summer of Code (SoC) Project). No information is available about this project.

Rework Description

To enable at least some basic incremental design, the "Field Add" functionality should become available soon. This would allow to create Classes and to add attributes one after the other, whilst automaticly updating the underlying database. The initally supported database is sqlite3 (possibly the code will be valid for other databases, too).

The rework allows to identify weaknesses within the code-base, thus a refactoring can happen prior to the coding phase of the SoC. Additionally, the functional "Field Add" implementation can be used as a foundation for the further work.

Development Location

Either with Django Project Resources (a branch or a Sandbox) or within local project resources.

Tasks

  • Extract relevant code from existent code-base
  • Implement sqlite3 introspection functions
  • Create a module /sqlite3/evolution.py
  • Implement limited set of evolution functions
  • Enlink new functionality to "syncdb"
  • Create Refactoring Suggestions during the coding work

Directives

  • Whenerver possible, changes should not break existent behaviour
  • Incremental design, adding step by step usable functionality