wellworn
traps · 3 served

Drizzle ORM

drizzle-orm · latest 0.45.2 · Apache-2.0

TypeScript ORM with SQL-shaped queries, schema in code, SQL migrations.

symptom and fix
major · >=0.30.0 · published · verified 2026-09-08
Two app replicas start at once and both run migrations; the second fails on an already-applied step.
Run `migrate()` behind `pg_advisory_lock(<constant>)` in one process (a jobs container or a release step), never in every web replica's startup.
major · >=1.0.0-beta.1 · published · verified 2026-09-08
Installing `drizzle-orm@rc` pulls 1.0.0-rc.5 and SQLiteSyncDialect no longer exists.
The 1.0 line splits SQLite into async and effect variants, removes `SQLiteSyncDialect` and `SQLiteAsyncDialect` in favour of `migrateSync` and `migrateAsync` under `sqlite-core/async/session`, and drops relational queries v1 from SQLite. The npm `latest` tag is still 0.45.2, so a plain install stays on the stable line; only the `rc` tag gets you 1.0.
evidence
minor · >=0.30.0 · published · verified 2026-09-08
Selecting into a destructured tuple with `noUncheckedIndexedAccess` produces a type error on the first row.
Read `rows[0]?.field ?? fallback` instead of destructuring `const [{ field }] = rows`.

Sorted by severity. Your agent sees the subset that matches the version you have installed: traps(library: "drizzle-orm", version: "0.45.2").