CodeSampleX

Exemplo

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

Amostra verificada para 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

Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu. Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas. MIT-0

Evidência de execução

O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.

Base da evidência
Contrato assinado aprovado
Recibos de verificação
2
Chaves de assinatura que o compilaram
2
Ambiente declarado node 22 linux x64 node 22 javascript npm

Ambientes das execuções de verificação

Ambiente Contrato Etapas Execução
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

Caso

HOW
Objetivo
Run drizzle-orm against an in-memory SQLite with no native module and no server, using node:sqlite as the driver
Pacotes
Símbolos
  • sqliteTable
  • drizzle-orm/sqlite-proxy
  • drizzle-orm/sqlite-proxy/migrator
  • node:sqlite.DatabaseSync
  • StatementSync.setReturnArrays
  • sql
  • eq
  • DrizzleQueryError
Ambiente
node 22
Criado
2026-08-14T12:07:43Z

Contrato

  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

Arquivos

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

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

anonymous