Erik Allik
2008-10-03 14:29:34 UTC
What if, for each model under version control, you'd create an
identical table (except the ID field would be a foreign key, not a
primary one). Any time a migration is run on that model, the same
migration could be run on the "twin" table, too.
Erik
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-***@googlegroups.com
To unsubscribe from this group, send email to django-users+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---
identical table (except the ID field would be a foreign key, not a
primary one). Any time a migration is run on that model, the same
migration could be run on the "twin" table, too.
Erik
That is a problem, to be sure, and I'm not sure if a reasonable
solution
exists.
As it stands, Django is currently lacking an automated rollback/
recovery
for models. The fullhistory branch tried to address this lack, but
seems to have been abandoned for the time being.
django-reversions implements this rollback/recovery facility in a way
that aims to be easy to integrate with existing projects. It improves
- Using the serialization framework instead of pickle.
- Allowing groups of changes to be grouped into revisions.
- Integration with newforms-admin.
Changes to database schemas will indeed break the rollback facility.
Given the mind-boggling vastness of possible schema migrations, I
honestly would not know how to begin to implement such a feature!
Nevertheless, I hope that django-reversions remains a useful tool.
David.
David Hall
Technical Lead
Etianen.com
Tel: 07896 106290
Web www.etianen.com
-------------------------------------------------------------------
Etianen.com is a small, professional web development agency that
specialises in fast-paced, creative development.
----------------- enlightened website development -----------------
--~--~---------~--~----~------------~-------~--~----~solution
exists.
As it stands, Django is currently lacking an automated rollback/
recovery
for models. The fullhistory branch tried to address this lack, but
seems to have been abandoned for the time being.
django-reversions implements this rollback/recovery facility in a way
that aims to be easy to integrate with existing projects. It improves
- Using the serialization framework instead of pickle.
- Allowing groups of changes to be grouped into revisions.
- Integration with newforms-admin.
Changes to database schemas will indeed break the rollback facility.
Given the mind-boggling vastness of possible schema migrations, I
honestly would not know how to begin to implement such a feature!
Nevertheless, I hope that django-reversions remains a useful tool.
David.
But your schema's will most likely change over time. And sometimes in
significant ways which do not have a likely default; e.g. splitting a
full_name field into a first_name and last_name field or visa-versa.
Now after applying this change to the database, how will
django-reversions work when you want to undo and go back to an
earlier
version of a record in this table ? (which didn't have this change)
The fields in the database/model now do not match against the
serialized
copy right ?
Bas
--significant ways which do not have a likely default; e.g. splitting a
full_name field into a first_name and last_name field or visa-versa.
Now after applying this change to the database, how will
django-reversions work when you want to undo and go back to an
earlier
version of a record in this table ? (which didn't have this change)
The fields in the database/model now do not match against the
serialized
copy right ?
Bas
This discussion has been moved from django-developers.
To answer a pending question: This application is for tracking
versions
- django-evolution concerns itself with maintaining versions of
database schemas.
- django-reversion deals with maintaining versions of the model
data.
It does not integrate with subversion. Instead, it uses the django
serialization framework to store serialized models in a special
database
table.
David.
To answer a pending question: This application is for tracking
versions
- django-evolution concerns itself with maintaining versions of
database schemas.
- django-reversion deals with maintaining versions of the model
data.
It does not integrate with subversion. Instead, it uses the django
serialization framework to store serialized models in a special
database
table.
David.
I've just released an open-source version control application for
Django. It is available for download from Google code.
http://code.google.com/p/django-reversion/
- Roll back to any point in a model's history - an unlimited undo
facility!
- Recover deleted models - never lose data again!
- Admin integration for maximum usability.
- Group related changes into revisions that can be rolled back
in a
single transaction.
- Automatically save a new version whenever your model changes
using
Django's flexible signalling framework.
- Automate your revision management with easy-to-use middleware.
It can be easily added to your existing Django project with an
absolute minimum of code changes.
It's so far been previewed by a half dozen developers, with good
feedback. I'd appreciate any comments / suggestions you may have
to
offer.
Django. It is available for download from Google code.
http://code.google.com/p/django-reversion/
- Roll back to any point in a model's history - an unlimited undo
facility!
- Recover deleted models - never lose data again!
- Admin integration for maximum usability.
- Group related changes into revisions that can be rolled back
in a
single transaction.
- Automatically save a new version whenever your model changes
using
Django's flexible signalling framework.
- Automate your revision management with easy-to-use middleware.
It can be easily added to your existing Django project with an
absolute minimum of code changes.
It's so far been previewed by a half dozen developers, with good
feedback. I'd appreciate any comments / suggestions you may have
to
offer.
David Hall
Technical Lead
Etianen.com
Tel: 07896 106290
Web www.etianen.com
-------------------------------------------------------------------
Etianen.com is a small, professional web development agency that
specialises in fast-paced, creative development.
----------------- enlightened website development -----------------
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-***@googlegroups.com
To unsubscribe from this group, send email to django-users+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---