Expand description
SQL backends for the Hexeract outbox, built on sqlx.
This crate implements the backend-agnostic hexeract_outbox contracts
(OutboxStore, OutboxPublisher) on top of sqlx, with one
compile-time backend per Cargo feature:
postgres(default):PgOutboxStore/PgOutboxPublishermysql:MySqlOutboxStore/MySqlOutboxPublishersqlite:SqliteOutboxStore/SqliteOutboxPublisher
The SQL dialect differences (placeholder style, row locking, timestamp
handling and schema DDL) are centralized in Dialect, so the per-backend
stores share the statement templating and the envelope assembly logic.
Re-exports§
pub use dialect::Dialect;pub use postgres::PgOutboxPublisher;postgrespub use postgres::PgOutboxStore;postgrespub use postgres::PgOutboxWorkerBuilder;postgrespub use mysql::MySqlOutboxPublisher;mysqlpub use mysql::MySqlOutboxStore;mysqlpub use mysql::MySqlOutboxWorkerBuilder;mysqlpub use sqlite::SqliteOutboxPublisher;sqlitepub use sqlite::SqliteOutboxStore;sqlitepub use sqlite::SqliteOutboxWorkerBuilder;sqlite
Modules§
- dialect
- SQL dialect differences absorbed by the backend stores.
- mysql
mysql - MySQL backend backed by
sqlx::MySqlPool. - postgres
postgres - PostgreSQL backend backed by
sqlx::PgPool. - sqlite
sqlite - SQLite backend backed by
sqlx::SqlitePool. SQLite backend for the Hexeract outbox.
Constants§
- DEFAULT_
TABLE_ NAME - Default outbox table name used when a builder’s
table_nameis not set.