a database layer insipred by caqti and ecto
OCaml
95.2%
Dune
1.8%
Other
3.0%
code
Clone this repository
https://tangled.org/gdiazlo.tngl.sh/repodb
git@tangled.org:gdiazlo.tngl.sh/repodb
For self-hosted knots, clone URLs may differ based on your setup.
Core modules:
- Type: GADT type witnesses with Caqti integration
- Schema: Table/column DSL with constraints and SQL generation
- Expr: Full expression GADT (operators, aggregates, functions)
- Query: SELECT/INSERT/UPDATE/DELETE with JOINs, upserts
- Changeset: Type-safe validations and constraints
- Repo: SQL builders, transaction state machine with savepoints
- Migration: DSL + runner with version tracking, plan/rollback
- Multi: Operation chaining with named results, atomic execution
- Error: Comprehensive error types
All modules compile, tests pass.