maltoe
Carbonite - Change tracking using triggers in PostgreSQL
Hello!
Came here to announce Carbonite, a data auditing library for Ecto/PostgreSQL.
In essence, Carbonite wraps an elaborate audit trigger function in some Elixir code to make it readily available in Elixir applications. A little bit of extra API allows convenient access to the audit logs. Its distinctive property, however, is its use of the database transaction as a natural “bracket” around tracked data changes. This bracket is enforced by an association between the change records and a central transactions table, where the foreign key is Postgres’ internal transaction id. The transactions table carries additional operation metadata (like the current user id).
It’s easier to see for yourself: Github, Docs
Carbonite is still very much work-in-progress. We’re currently collecting our first experiences with it, and are still changing the API around as we go. Still, any early feedback and thoughts are appreciated!
Let me know what you think!
Best,
malte
Most Liked
cpgo
I hear you. Just had to work around this last week.
Had to work on a pretty big collection so ActiveRecord’s update_all was perfect for the job. But then I had to manually implement the audit because our current solution relies on the AR callbacks.
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








