The Basics
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 syncdbrebuild 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
Grab the Repository – svn checkout http://deseb.googlecode.com/svn/trunk/
Recent Commits
-
77 was committed 6 months, 1 week ago.
Fixed #7: bug from deseb-discuss, django-0.96-related Implemented DROP TABLE for sqlite Added GenericRelation and OneToOneField into one of the tests Returned back UNIQUE recognition for sqlite Moved many2many creation to the end (‘cause postgres complained) Improved long character types length
-
76 was committed 6 months, 2 weeks ago.
Resolved #1: postgres background patch
-
75 was committed 6 months, 2 weeks ago.
Fixed #20: Database field type changes are ignored Fixed #21: MySQL BooleanField default value problem Fixed #18: evolvedb adds “drop table” statements to the end of table creation commands. Improved sqlite handling Added few more tests Improved .bat files used for testing on windows
-
74 was committed 6 months, 2 weeks ago.
fixed bug where multiple managed upgrades don’t apply automatically
-
73 was committed 7 months ago.
added —managed-upgrades-only option
-
72 was committed 7 months, 1 week ago.
svn ignore added
-
71 was committed 7 months, 1 week ago.
SQLite works on django-0.96.1 now, few minor bugs fixed, drop cascade added for postgresql, added docs reference and FIXME for sqlite create column
-
70 was committed 7 months, 1 week ago.
Create model test
-
69 was committed 7 months, 1 week ago.
fixed adding non-null column to existing database table w/ data
-
68 was committed 7 months, 1 week ago.
changed _get_sql_model_create to use the offical django version