I've had a look at most of those gems over the years; I've been on a
project that used Papertrail and they weren't enjoying it that much.
I've also done the "it can't be that hard, I'll just..." approach.

I'd say if it's for auditing purposes then using a gem might get you
by; if it's actually part of your model, then I'd just design it in.
I've also worked on a project that took that did that, and while there
was definitely some overhead, it forced us to think about exactly what
the relationships between the versions, and relationships between
identities (the thing that is versioned).  Personally, I'd say that if
versioning has business value, then this is the right approach; if it
doesn't, then don't do it.

It kind of sounds like you're trying to get a complex awesome feature
for nearly-free, which tends to not turn out all that well.

Other people will probably have other opinions...



On Fri, May 3, 2013 at 3:42 PM, Paul Annesley <[email protected]> wrote:
>
> On 03/05/2013, at 3:37 PM, Simon Russell <[email protected]> wrote:
>
>> What's your end goal? Auditing, or something else?
>
> The goal is to be able to update certain information in certain models 
> without destroying the previous information.
>
> Auditing (offline / non-runtime) is one use-case.
> Additionally there may be runtime dependencies on past versions.
>
> As you can probably tell, it's not entirely clear in my head yet.
> I just know there'll be information being updated where I want to retain the 
> prior versions.
>
> — Paul
>
>
>>
>> On Fri, May 3, 2013 at 3:33 PM, Paul Annesley <[email protected]> wrote:
>>> Any advice on tools or approaches for versioning ActiveRecord models?
>>> i.e. track changes to a model such that a previous version of that model 
>>> can be loaded.
>>>
>>> Some options from 
>>> https://www.ruby-toolbox.com/categories/Active_Record_Versioning
>>>
>>> https://github.com/airblade/paper_trail
>>> Looks reasonably active, last commit a month ago.
>>> Not sure about Rails 4 compatibility.
>>>
>>> https://github.com/collectiveidea/audited
>>> Some activity 2 days ago, but 6 months before that.
>>> Not sure about Rails 4 compatibility.
>>>
>>> https://github.com/technoweenie/acts_as_versioned
>>> Last activity over a year ago.
>>> Last release more than two years ago.
>>>
>>> Alternatively it would be pretty simple to do manually:
>>> Pick the attributes that I want to version,
>>> represent those in a new associated model,
>>> create a new instance of that model for each change,
>>> consider the most recent one the current version.
>>>
>>> Any experience or tips?
>>>
>>> — Paul
>>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Ruby or Rails Oceania" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/rails-oceania?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rails-oceania?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to