Opened 17 years ago
Closed 11 years ago
#5934 closed New feature (fixed)
Database Migrations
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Core (Management commands) | Version: | dev |
Severity: | Normal | Keywords: | database db migration agile evolution |
Cc: | fred@… | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Something that is a bit of a pain, in an otherwise great web application framework, is managing database changes in a team environment. Initially it took me a while to realize that syncdb wasn't really syncing the database with the models, it was only creating new models.
What would be a great addition to django via manage.py would be something like the Ruby on Rails: rake db:migrate. Schema/revision the database with a table that has a revision number, and allow, no encourage, evolutionary/agile database/model development by just adding "database migrations".
Is this on anyone's radar? I know that I am not the person probably interested in such a feature. I'd be happy to help any folks that are working on it. Or provide more detailed specifications for what I think would make a solid tool.
Thanks, Patrick Altman
Change History (11)
comment:1 by , 17 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:2 by , 16 years ago
milestone: | → post-1.0 |
---|
comment:3 by , 16 years ago
Triage Stage: | Accepted → Someday/Maybe |
---|
comment:4 by , 16 years ago
Component: | Tools → django-admin.py |
---|
comment:7 by , 14 years ago
Severity: | → Normal |
---|---|
Type: | → New feature |
comment:10 by , 12 years ago
Triage Stage: | Someday/Maybe → Accepted |
---|
Andrew announced plans for adding schema alteration in core and a migrations management app in contrib.
comment:11 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Initial work was merged in 9aa358cedd1ad93c0f4c20700db7016651dc0598. Further work will be ticketed separately.
There isn't an 'official' way, but there are a number of user contributed projects underway attempting to do what you describe. Some of the more notable efforts:
If any of these projects get enough support, one of them may eventually be merged into the Django trunk, However, there are no immediate plans to merge anything.
I'm marking this ticket as accepted, since it reasonable idea for inclusion in Django in the long term. Since it would be a very big feature addition, any contributions should be directed to the individual projects, rather than attached to this ticket.