Drizzle is a headless TypeScript ORM. Zero dependencies, SQL-like API, single-query output. Packages: drizzle-orm (runtime), drizzle-kit (CLI/migrations).
| drizzle-orm/pg-core | pgTable, pgEnum, column types (serial, text, integer, uuid, timestamp, jsonb, varchar, boolean, numeric, bigint, geometry, vector, ...), index, uniqueIndex, unique, check, primaryKey, foreignKey |
| drizzle-orm | Operators: eq, ne, gt, gte, lt, lte, and, or, not, isNull, isNotNull, inArray, between, like, ilike, exists, sql, asc, desc. Utilities: getColumns, defineRelations, cosineDistance, l2Distance | | drizzle-orm (types) | InferSelectModel, InferInsertModel | | drizzle-zod | createInsertSchema, createSelectSchema |
Riferimento Drizzle ORM per PostgreSQL: definizione dello schema, query typesafe, relazioni e migrazioni con drizzle-kit. Da utilizzare quando: (1) si definiscono schemi pgTable con tipi di colonna, indici, vincoli o enumerazioni, (2) si scrivono query o join di selezione/inserimento/aggiornamento/eliminazione, (3) si definiscono relazioni e si utilizza l'API di query relazionale (db.query.*), (4) si esegue drizzle-kit generate/migrate/push/pull, (5) si configura drizzle.config.ts, (6) si utilizza l'operatore template sql`` o (7) lavorare con le estensioni PostGIS/pg_vettoriale. Fonte: jgamaraalv/ts-dev-kit.