CodeSampleX

Sample

drizzle-orm 0.45.2: Run drizzle-orm against an in-memory SQLite with no native module and no server, using node:sqlite as the driver

Verified sample for npm drizzle-orm 0.45.2: Run drizzle-orm against an in-memory SQLite with no native module and no server, using node:sqlite as the driver.…

sha256:b2121ae40b126706d7f37eb42fe29016cbed772ae0a32001ee2bbaeff49ffcd7

This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people. MIT-0

Execution evidence

The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.

Evidence basis
Signed contract pass
Verification receipts
2
Signing keys that built it
2
Declared environment node 22 linux x64 node 22 javascript npm

Verification-run environments

Environment Contract Stages Run
node 22 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · npm@1
2026-08-14
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · npm@1
2026-08-18

Case

HOW
Goal
Run drizzle-orm against an in-memory SQLite with no native module and no server, using node:sqlite as the driver
Packages
Symbols
  • sqliteTable
  • drizzle-orm/sqlite-proxy
  • drizzle-orm/sqlite-proxy/migrator
  • node:sqlite.DatabaseSync
  • StatementSync.setReturnArrays
  • sql
  • eq
  • DrizzleQueryError
Environment
node 22
Created
2026-08-14T12:07:43Z

Contract

  1. apply a hand-written drizzle migration folder to an in-memory node:sqlite database through sqlite-proxy, offline
  2. assert drizzle-orm's exports map refuses ./package.json, so its own version has to be read off disk rather than required
  3. assert drizzle-orm 0.45.2 publishes no node-sqlite entry point, so the driver is sqlite-proxy with node:sqlite behind it
  4. assert the first migrate hands the callback the two DDL statements split on --> statement-breakpoint plus one __drizzle_migrations insert, and a second migrate hands it nothing
  5. assert the migrator creates and reads __drizzle_migrations through the driver rather than through the callback, and that its SELECT arrives as method values
  6. assert .returning() gives back the stored row, including the id AUTOINCREMENT assigned and the login_count the insert never named
  7. assert a select returns rows keyed by the schema's JS names, with the values untouched: mapFromDriverValue on a plain integer column is the identity function, so the JS number came from node:sqlite
  8. assert .where(eq(...)) filters in SQL with the value bound as a parameter, and .get() on a miss is undefined rather than an empty row
  9. assert omitting a notNull column, a TypeScript error at build time, is also a runtime NOT NULL constraint failure
  10. assert drizzle writes a literal null for an omitted column instead of leaving it out, so the column's SQL DEFAULT never applies and only a schema-side .default() helps
  11. assert a unique violation arrives as DrizzleQueryError whose own message is the failed statement and its parameters and not the SQLite one, with the SQLite message and code on .cause
  12. assert the extended result codes separate SQLITE_CONSTRAINT_UNIQUE from SQLITE_CONSTRAINT_NOTNULL without parsing English
  13. assert a quote-carrying value interpolated into sql`` is bound as a parameter, leaving no quote in the statement, so the injected tautology matches no rows
  14. assert the same value concatenated with sql.raw does fire the tautology and returns every row, so the escaping is what prevented it
  15. assert a value carrying a statement terminator passed to eq() is one bound parameter and the table it names is still there afterwards
  16. assert a proxy driver that returns node:sqlite's default object rows silently yields rows with every column undefined, which is why setReturnArrays(true) is required

Files

  • csx.json
  • drizzle/0000_init.sql
  • drizzle/meta/_journal.json
  • package-lock.json
  • package.json
  • src/db.mjs
  • test/contract.mjs

Download the source artifact (tar.gz)

Origin Seeder

anonymous