API Reference Carbonite v0.3.1

Modules

Carbonite implements the Change-Data-Capture pattern on top of PostgreSQL using database triggers. It keeps a central changes table where all mutations of participating tables are recorded. Each changes row is associated to a single row in the transactions table using PostgreSQL's internal transaction id as the foreign key. This leads to the following interesting properties

A Carbonite.Change records a mutation on a database table.

Functions to setup Carbonite audit trails in your migrations.

This module provides functions for dealing with audit trails in the context of Ecto.Multi.

Implements the outbox pattern to process (and evict) recorded transactions in the database, in order of insertion.

This module provides query functions for retrieving audit trails from the database.

A Carbonite.Transaction is the binding link between change records of tables.

A Carbonite.Trigger stores per table configuration for the change capture trigger.