ProvenPin Install

Stacks

SQLite recipes

7 tested SQLite integration recipes with SQLAlchemy, Alembic, Drizzle ORM, better-sqlite3. Exact pinned versions and a last-passed receipt, last run 2026-10-15.

passed6/6python

Alembic autogenerate compare_metadata drift check against SQLite

Declare SQLAlchemy 2 models with a naming convention, then detect schema drift offline by diffing the live SQLite schema against the metadata with Alembic compare_metadata.

sqlalchemy@2.1.4alembic@1.20.0pytest@9.1.1
last passed 2026-10-15 11:56 UTC
passed1/1typescript

Drizzle ORM + better-sqlite3 CRUD

Typed schema, migrations-free table creation and CRUD with Drizzle on an in-memory SQLite database.

drizzle-orm@0.45.4better-sqlite3@12.11.1tsx@4.23.15
last passed 2026-10-15 11:52 UTC
passed2/2python

FastAPI + SQLAlchemy 2 CRUD with dependency-injected sessions

FastAPI routes backed by SQLAlchemy 2.x typed models, a per-request session dependency, and TestClient tests on SQLite.

fastapi@0.143.1sqlalchemy@2.1.4httpx@0.28.1
last passed 2026-10-15 11:53 UTC
passed1/1typescript

Kysely + better-sqlite3 typed queries

Type-safe SQL with Kysely on SQLite, including a schema migration, joins and a transaction.

kysely@0.29.6better-sqlite3@12.11.1tsx@4.23.15
last passed 2026-10-15 11:54 UTC
passed1/1typescript

Prisma 7 + SQLite via better-sqlite3 adapter

Prisma Client 7 with the better-sqlite3 driver adapter, schema push and relational queries on a local SQLite file.

@prisma/client@7.10.0@prisma/adapter-better-sqlite3@7.10.0tsx@4.23.15
last passed 2026-10-15 11:56 UTC
passed4/4typescript

Prisma 7 + SQLite: nested writes, interactive transactions and unique errors

Prisma Client 7 on SQLite (better-sqlite3 adapter): nested creates, an interactive $transaction that rolls back, and handling P2002 unique-constraint errors.

@prisma/client@7.10.0@prisma/adapter-better-sqlite3@7.10.0tsx@4.23.15
last passed 2026-10-15 11:56 UTC
passed2/2python

SQLAlchemy 2 + Alembic programmatic migrations

Alembic migrations driven from Python (upgrade, downgrade, autogenerate check) against SQLite, with SQLAlchemy 2 models.

sqlalchemy@2.1.4alembic@1.20.0pytest@9.1.1
last passed 2026-10-15 11:56 UTC

Used together with SQLite

SQLAlchemyAlembicDrizzle ORMbetter-sqlite3FastAPIKyselyPrisma