API Reference Carbonite v0.1.0

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 transaction logs in your migrations.

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

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

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