Я работал с vestal_versions
на прошлой неделе, и да, это самая продвинутая альтернатива, по крайней мере, с точки зрения места: вы храните только то, что вам действительно нужно. Это активный проект, и версия 1.0 будет огромным обновлением с множеством новых функций; просто посмотрите на ветку 1.0, чтобы понять, что я имею в виду.
Но немного поиграв с ним, я заметил большой недостаток: производительность. Каждый раз, когда вам нужна конкретная версия, вы должны пройти все промежуточные версии, реконструируя нужную вам версию. Это также означает, что вы не можете редактировать или удалять версию напрямую, потому что это может испортить модификации, разорвав цепочку. Для этого нужно адекватно обрабатывать версии, чего vestal_versions
пока не делает.
Таким образом, для проблемы, с которой я столкнулся, я нашел свое собственное решение для управления версиями. Мне нужна была производительность и возможность быстро удалять и редактировать версии, поэтому я пожертвовал хранилищем и разработал что-то похожее на act_as_versioned
.
НО, если вам это не нужно и вам не нужно возвращаться очень часто, я настоятельно рекомендую vestal_versions
. Это передовое, надежное и активное решение, за которым стоит увлеченный разработчик.
person
Lailson Bandeira
schedule
08.11.2009