CodeSampleX

Beispiel

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

Verifiziertes Beispiel für 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

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
2
Signaturschlüssel, die es gebaut haben
2
Deklarierte Umgebung node 22 linux x64 node 22 javascript npm

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
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

Fall

HOW
Ziel
Run drizzle-orm against an in-memory SQLite with no native module and no server, using node:sqlite as the driver
Pakete
Symbole
  • sqliteTable
  • drizzle-orm/sqlite-proxy
  • drizzle-orm/sqlite-proxy/migrator
  • node:sqlite.DatabaseSync
  • StatementSync.setReturnArrays
  • sql
  • eq
  • DrizzleQueryError
Umgebung
node 22
Erstellt
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

Dateien

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

Quellartefakt herunterladen (tar.gz)

Ursprungs-Seeder

anonymous