Я работал с vestal_versions
на прошлой неделе, и да, это самая передовая альтернатива, по крайней мере, с точки зрения space: вы храните только то, что вам действительно нужно. Это активный проект, и версия 1.0 станет огромным обновлением со многими новыми функциями; просто посмотрите на ветку 1.0, чтобы понять, что я имею в виду.
Но, немного поиграв с этим, я заметил большой недостаток: выступление. Каждый раз, когда вам нужна конкретная версия, вам нужно пройти все промежуточные, восстановив нужную вам версию. Это также означает, что вы не можете редактировать или удалять версию напрямую, потому что это может быть связано с изменениями, передавая цепочку. Для этого вам нужно соответствующим образом обрабатывать версии, что vestal_versions
в настоящее время не делает.
Таким образом, для проблемы, с которой я столкнулся, у меня появилось собственное решение для управления версиями. Мне нужна производительность и возможность быстро и быстро удалять и редактировать версии, поэтому я пожертвовал хранилищем и разработал нечто похожее на act_as_versioned
.
НО, если вам это не нужно и не нужно очень часто возвращаться, я настоятельно рекомендую vestal_versions
. Это продвинутое, надежное решение и активное, со страстным разработчиком.
Вопросы, как это то, что рубин Toolbox был создан для: https: //www.ruby- toolbox.com/categories/Active_Record_Versioning. Поскольку этот вопрос возрастает, и драгоценные камни приходят и уходят, Ruby Toolbox останется хорошим ресурсом, чтобы показывать последовательные переходы, передовые альтернативы, популярность и обслуживание различных проектов. Все, что вам нужно, чтобы принять ваше решение! –