Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Wersjonowanie obiektów modelu

Chciałbym, aby zmiany w instancjach modelu były gdzieś zapisywane w bazie (w kopii tabeli, w formie zserializowanej, jakkolwiek) oraz żeby była widoczna aktualna wersja modelu, ilość dostępnych rewizji oraz możliwość przywrócenia do modelu do konkretnej rewizji. To samo tyczy się usuwania obiektów z bazy.

Dla przykładu, w phpowym ORMie Doctrine jest mechanizm behaviorów modeli i jest jeden behavior Versionable: http://www.doctrine-project.org/documentation/manual/1...

Znalazłem coś dla Django, ale ciężko mi powiedzieć ile to warte:
http://code.google.com/p/django-reversion/
http://code.djangoproject.com/wiki/AuditTrail

Ma ktoś jakieś doświadczenie w tej kwestii?
Marcin Nowak

Marcin Nowak Python, Django,
Cassandra,
PostgreSQL

Temat: Wersjonowanie obiektów modelu

Wojciech Sznapka:
Chciałbym, aby zmiany w instancjach modelu były gdzieś zapisywane w bazie (w kopii tabeli, w formie zserializowanej, jakkolwiek)

moze http://github.com/brosner/django-versioning ?
prosty, oparty o contenttypes.
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Wersjonowanie obiektów modelu

jest do tego jakiekolwiek README?
Tomasz Z.

Tomasz Z. Freelancer

Temat: Wersjonowanie obiektów modelu

Wojciech Sznapka:
Znalazłem coś dla Django, ale ciężko mi powiedzieć ile to warte:
http://code.google.com/p/django-reversion/

Ma ktoś jakieś doświadczenie w tej kwestii?

Ja używam testowo reversion do prostych rzeczy - możesz sobie po prostu cofnąć rekord do którejś z wcześniejszych postaci. W bazie jest to zapisane jako XML, więc ew. migracja nie jest problemem, aczkolwiek gdzieś w sieci się natknąłem na informację, że reversion wysiada gdy skasujesz pole z modelu (osobiście nie sprawdzałem tego wariantu).

konto usunięte

Temat: Wersjonowanie obiektów modelu

Ja używam django-reversion zarówno w pracy jak i do swoich prywatnych projektów.

- Zapewnia historie zmian dla obiektów.
- Integruje się z adminem,
- Umożliwia odzyskanie usuniętych obiektów.
- Ma testy oraz dokumentacje :)

Opis jak używać można znaleźć tutaj:

http://code.google.com/p/django-reversion/wiki/Getting...
Marcin Nowak

Marcin Nowak Python, Django,
Cassandra,
PostgreSQL

Temat: Wersjonowanie obiektów modelu

Wojciech Sznapka:
jest do tego jakiekolwiek README?

Nie stwierdzono. Z kodu mozna wnioskowac, ze wystarczy podpiac sygnal versioning.signals.pre_save do wybranych modeli. Nie sprawdzalem, nie testowalem.

Faktycznie, django-reversion wydaje sie byc projektem bardziej dojrzalym, a rowniez opartym o contenttypes.



Wyślij zaproszenie do