CodeSampleX

Exemple

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

Échantillon vérifié pour 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…

sha256:b2121ae40b126706d7f37eb42fe29016cbed772ae0a32001ee2bbaeff49ffcd7

Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré. Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes. MIT-0

Preuves d'exécution

L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.

Base de preuve
Contrat signé réussi
Reçus de vérification
2
Clés de signature qui l’ont compilé
2
Environnement déclaré node 22 linux x64 node 22 javascript npm

Environnements des exécutions de vérification

Environnement Contrat Étapes Exécution
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

Cas

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

Contrat

  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

Fichiers

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

Télécharger l’artefact source (tar.gz)

Seeder d'origine

anonymous