This is Bemi's blog and their solution seems quite good for the larger scaled problems.
I'm rather experienced on Rails+PaperTrail and believe it to be a great solution for startups.
If you're looking at this for consideration, a few things I recommend:
- Critical models should get their own PaperTrail table.
- Install `--with-changes` always! The extra data is worth it. Direct DB changes, changes via `.update_columns` will all skip PaperTrail (Actually this is where Bemi could be helpful due to WAL based).
- PaperTrail is not true Disaster recovery, I argue Bemi isn't either nor are read-replicas. You want an off-site dump to be that.
IME Papertrail really struggles when you have a top level object which owns a nested tree of associations; for that I would suggest implementing a canonical serialisation for each top level domain model and versioning that.
Oh neat I haven't heard of console1984 or the package that allows for auditing. A lot of my previous companies have been looking for something like this
The trigger based approach of logidze looks like it could just as well write data to a separate foos_audit_log table for each foos table, thus solving the table bloating issue, or is there a reason this isn't possible?
One solution not mentioned in the article is writing entries to something like Logstash or other similar services specifically built for handling event logs.
[+] [-] irjustin|1 year ago|reply
I'm rather experienced on Rails+PaperTrail and believe it to be a great solution for startups.
If you're looking at this for consideration, a few things I recommend:
- Critical models should get their own PaperTrail table.
- Install `--with-changes` always! The extra data is worth it. Direct DB changes, changes via `.update_columns` will all skip PaperTrail (Actually this is where Bemi could be helpful due to WAL based).
- PaperTrail is not true Disaster recovery, I argue Bemi isn't either nor are read-replicas. You want an off-site dump to be that.
[+] [-] danielheath|1 year ago|reply
[+] [-] ryanong|1 year ago|reply
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] riffraff|1 year ago|reply
[+] [-] Manfred|1 year ago|reply
[+] [-] Manfred|1 year ago|reply
[+] [-] elsurudo|1 year ago|reply