Postgres and Drizzle
The default relational database, and an ORM that reads like SQL.
Why PostgreSQL
PostgreSQL is the safe default. Newer databases — CockroachDB, Turso, SurrealDB, Gel — were considered. None gave a reason to leave Postgres's ecosystem and hosting options.
- Development runs Postgres 18 in Docker.
- Tests get their own throwaway Postgres from Testcontainers, migrated fresh each run. They never touch your dev data.
- Production is planned for Amazon RDS. See AWS.
Why Drizzle
Drizzle is a lightweight ORM:
- SQL-shaped. Queries read like the SQL they produce.
- No engine binary. Unlike Prisma, there's no separate query engine to ship.
- Strong inference. Row types come straight from the schema.
- Migrations included.
drizzle-kitgenerates SQL migrations from schema changes.
Prisma was the turnkey alternative, with a bigger ecosystem and a GUI. Drizzle was the more current pick, and drizzle-kit studio covers the GUI.