1. Build
SQLite replication is a core dependency — always compiled, nothing to enable at build time. Any build has it, including a slimmed--no-default-features SKU:
2. Enable the module
In the profile, list the module and grant its capability. The module id and the capability key are the same string,sqlite-replication:
3. Point it at the database
Add asqlite-replication: section. The only required field is the path to your application’s SQLite file:
Config reference
The fullsqlite-replication: section:
table_strategies.<table>
See Capture strategies for choosing between
rows and telemetry.
Batching and large changes
Omega batches changes and publishes them on the sync topics (see Topics and connection). Two things worth knowing:- Payload size is bounded by
security.max_payload_bytes, not a replication setting. A batch that would exceed the cap is spilled to a compressed (zstd) secondary object, uploaded out-of-band via a platform-granted URL, rather than being forced onto a single MQTT message. - Deduplication is handled on the platform. The device stamps each batch with the keys the platform needs to dedupe; there’s no device-side dedup knob.
A complete example
Per-device values pulled from the environment so one profile serves a fleet:First-batch schema review
The first batch for a new table lands as a queued schema review on the platform — approve it once and replication proceeds. See Schema review workflow.Related
- SQLite sync configuration — deeper config notes.
- Capture strategies —
rowsvstelemetry. - Topics and connection — the sync wire topics.
- Provisioning checklist — end-to-end bring-up.
- Configure Omega · Deploy Omega.