drizzle-team/drizzle-orm
50.8
Adequate · 28 September 2026
216k
lines of production code
TypeScript
primary language
4
measurements over time
What this system is
This system is a TypeScript ORM and database toolkit that provides type-safe query building and schema definitions for a wide variety of database engines, including PostgreSQL, MySQL, SQLite, and specialized platforms like Neon, PlanetScale, and Cloudflare D1. It includes a CLI tool for managing SQL migrations and schema introspection, alongside plugins that generate validation schemas for libraries like Zod, Valibot, and TypeBox. The system also offers utilities for deterministic database seeding and ESLint rules to enforce safe database operations.
How it got here
2022–2023 — dialect expansion and validation plugins
65 changes.
The project significantly expanded its database support by adding drivers for Gel, LibSQL, Netlify DB, Vercel Postgres, and various proxy implementations, while restructuring internal query builders and column definitions for better type safety. Concurrently, it introduced a suite of validation schema plugins for Zod, Valibot, ArkType, and TypeBox, alongside an ESLint plugin to enforce safer database operations.
2024 — multi-dialect expansion and drizzle-seed
49 changes.
This period focused on significantly expanding Drizzle ORM's database support by adding native drivers for Xata, PGlite, TiDB Serverless, SingleStore, and Cloudflare Durable Objects, alongside Prisma client integration. The drizzle-kit CLI underwent major refactoring to support new dialects like Gel and SingleStore, while a new drizzle-seed package was introduced for deterministic database seeding. Comprehensive integration and type tests were added across all new features to ensure stability and correctness.
2025 — Gel database dialect support
6 changes.
This period focused on introducing initial support for the Gel database dialect, including core driver implementations, query builders, and transaction handling. Comprehensive type and integration tests were added to validate query execution, caching, and type inference across various SQL operations and module resolution strategies.
Features
Add AWS Data API support for PostgreSQL
Users can now connect Drizzle ORM to PostgreSQL databases using the AWS RDS Data API. This change introduces a new driver, session, and migrator in the \drizzle-orm/src/aws-data-api/pg\ directory, enabling full database operations including transactions, prepared statements, and schema migrations via the AWS Data API protocol.
drizzle-orm/src/aws-data-api/pg · high confidence
Add AWS Data API value mapping and type hinting utilities
Introduces new helper functions in the AWS Data API common module to handle data conversion between Drizzle ORM types and the AWS RDS Data API format. The \getValueFromDataApi\ function now correctly parses various field types, including support for nested array values (strings, longs, doubles, booleans, and nested arrays). The \toValueParam\ function ensures proper serialization of input values, specifically handling date and timestamp strings by formatting them for the API, and mapping JavaScript numbers to the appropriate \longValue\ or \doubleValue\ fields. Additionally, \typingsToAwsTypeHint\ provides the necessary type hints for dates, decimals, JSON, times, timestamps, and UUIDs.
drizzle-orm/src/aws-data-api/common · high confidence
Add Drizzle ORM driver for Cloudflare Durable Objects SQLite
Users can now connect Drizzle ORM to Cloudflare Durable Objects using the new \drizzle-orm/src/durable-sqlite\ module. This change introduces a dedicated driver, session, and migrator that wrap the Durable Object's \DurableObjectStorage\ to provide standard ORM capabilities, including transaction support via \client.transactionSync\ and schema migration utilities for SQLite-backed durable objects.
drizzle-orm/src/durable-sqlite · high confidence
Add Expo SQLite driver with live queries and React hooks
Introduces a new \expo-sqlite\ driver for Drizzle ORM, enabling usage with the Expo SQLite API. This includes a synchronous database client (\ExpoSQLiteDatabase\), session handling, and a React hook \useLiveQuery\ that automatically re-renders components when the underlying database tables change. Additionally, a \useMigrations\ hook is provided to handle database schema migrations within React components.
drizzle-orm/src/expo-sqlite · high confidence
Add Gel database dialect support
Introduces a new \Gel\ dialect to the ORM, providing full schema definition and query-building capabilities for Gel databases. This includes the \GelDialect\ for SQL generation, \GelDatabase\ and \GelSession\ for execution, and comprehensive schema builders for tables, views, sequences, roles, policies, and constraints. Users can now define Gel-specific schemas and run queries against Gel instances using the standard Drizzle API.
drizzle-orm/src/pg-core · high confidence
Add Knex integration for type-safe schema mapping
This change introduces a new integration module for Knex.js, allowing users to define their database schema using Drizzle ORM while leveraging Knex as the query builder. The update adds a \Knexify\ type helper and augments the Knex types to provide automatic TypeScript inference for Drizzle tables within Knex queries, enabling seamless interoperability between the two libraries.
drizzle-orm/src/knex · high confidence
Add Kysely integration support
Introduces a new integration layer allowing users to define their database schema using Drizzle ORM while using Kysely as the query builder. This includes a \Kyselify\ type utility that maps Drizzle table definitions to Kysely-compatible database interfaces, enabling schema management via Drizzle migrations while leveraging Kysely for query construction.
drizzle-orm/src/kysely · high confidence
Add LibSQL database driver support
Drizzle ORM now supports LibSQL as a first-class database driver. This change introduces a new \drizzle-orm/src/libsql\ module containing the core \LibSQLDatabase\ and \LibSQLSession\ implementations, along with environment-specific entry points for Node.js, Web, WebSocket, HTTP, SQLite3, and WebAssembly runtimes. Users can now connect to LibSQL databases using the standard \drizzle()\ factory function, utilize batch operations, and run migrations via the provided migrator.
drizzle-orm/src/libsql · high confidence
Add MySQL Proxy driver for remote execution
Users can now connect Drizzle ORM to a MySQL database via a proxy layer by using the new \drizzle\ function in \drizzle-orm/src/mysql-proxy\. This driver accepts a custom callback to execute SQL queries, enabling integration with remote database services or custom network layers. The implementation includes a dedicated session and prepared query handler that supports query logging and caching, while explicitly noting that transactions and streaming are not supported by this proxy driver.
drizzle-orm/src/mysql-proxy · high confidence
Add PostGIS geometry column support
Users can now define PostGIS geometry columns in their PostgreSQL schemas using the new \geometry()\ builder. This change introduces \PgGeometry\ (returning coordinate tuples) and \PgGeometryObject\ (returning x/y objects) column types, along with the necessary EWKB parsing utilities to handle data serialization and deserialization.
_drizzle-orm/src/pg-core/columns/postgis\extension · high confidence
Add Prisma SQLite driver via extension
Users can now use Drizzle ORM with Prisma's SQLite client by importing the new \drizzle\ function from \drizzle-orm/src/prisma/sqlite\. This adds a Prisma extension that exposes a \$drizzle\ property on the Prisma client, providing a \BaseSQLiteDatabase\ instance for executing queries. The implementation includes a custom session and prepared query classes that map Drizzle's SQLite dialect to Prisma's \$queryRawUnsafe\ method, supporting \all\, \get\, and \run\ operations, while \values\ and \transaction\ methods are currently unimplemented.
drizzle-orm/src/prisma/sqlite · high confidence
Add Prisma driver support for MySQL and PostgreSQL
Users can now use Drizzle ORM with Prisma clients for MySQL and PostgreSQL databases. This change introduces new driver implementations (\PrismaMySqlDatabase\, \PrismaPgDatabase\) and session classes that wrap Prisma clients, allowing Drizzle queries to be executed via Prisma's \$queryRawUnsafe\. The drivers are exposed as Prisma extensions, enabling seamless integration where Drizzle's query builder can operate on top of an existing Prisma client instance.
drizzle-orm/src/prisma/mysql, drizzle-orm/src/prisma/pg · high confidence
Add SingleStore connector
Added a new SingleStore connector to drizzle-orm, providing two distinct integration paths: a native driver (singlestore) that connects directly via mysql2 pools/connections with support for caching and streaming, and a proxy driver (singlestore-proxy) that operates via a remote callback interface. Both implementations include database initialization, session handling, prepared query execution, and migration utilities, enabling users to interact with SingleStore databases using standard Drizzle ORM patterns.
drizzle-orm/src/singlestore · high confidence
Add SingleStore query builders
The SingleStore connector now includes full query-building capabilities, adding builders for SELECT, INSERT, UPDATE, DELETE, and COUNT operations, along with support for relational queries and CTEs via the QueryBuilder.
drizzle-orm/src/singlestore-core/query-builders · high confidence
Add TiDB Serverless driver
Users can now connect Drizzle ORM to TiDB Cloud Serverless. This change introduces a new driver package (\drizzle-orm/src/tidb-serverless\) that extends the existing MySQL dialect to support the \@tidbcloud/serverless\ client. It includes the database constructor, session handling, prepared queries, and migration utilities, enabling standard Drizzle operations like transactions and caching on TiDB Serverless instances.
drizzle-orm/src/tidb-serverless · high confidence
Add batch API and transaction support for Cloudflare D1
The D1 driver now supports executing multiple queries in a single batch via the new \db.batch()\ method, which improves performance for bulk operations. Additionally, the driver implements full transaction support, allowing users to wrap multiple statements in \BEGIN\/\COMMIT\ blocks with savepoint support for nested transactions. The migrator has also been updated to utilize the batch API for applying migration files more efficiently.
drizzle-orm/src/d1 · high confidence
Add seed datasets for adjectives, cities, names, and addresses
The drizzle-seed package now includes a collection of static datasets in the \src/datasets\ directory to support realistic data generation. New files provide lists of adjectives, city names, company name suffixes, countries, email domains, first and last names, job titles, lorem ipsum sentences, phone number formats, US states, and street suffixes. These datasets are sourced from public repositories such as Kaggle and the copycat library, enabling the seed tool to generate more varied and authentic test data.
drizzle-seed/src/datasets · high confidence
Add support for Electric SQL PGlite database driver
Drizzle ORM now supports the PGlite database engine (from Electric SQL). This change introduces a new driver, session, and migrator implementation in the \drizzle-orm/src/pglite\ directory, allowing users to initialize a PGlite-backed database instance via the \drizzle()\ function. The implementation includes a \drizzle.mock()\ helper for testing, supports schema extraction for relational queries, and integrates with the existing caching and logging systems.
drizzle-orm/src/pglite · high confidence
Add support for PlanetScale serverless driver
Users can now connect Drizzle ORM to PlanetScale's serverless database using the official \@planetscale/database\ client. This change introduces a new driver module (\drizzle-orm/src/planetscale-serverless\) that provides a \drizzle()\ factory function, a dedicated \PlanetScaleDatabase\ class, and a \migrate()\ utility for schema migrations. The implementation leverages the MySQL dialect under the hood but includes specific handling for PlanetScale's execution model, such as disabling streaming iterators and supporting the PlanetScale-specific \Client\ instance. It also allows configuration of logging and caching via the standard Drizzle config options.
(repo-wide) · high confidence
Add support for Vercel Postgres
Users can now connect Drizzle ORM to Vercel Postgres using the \@vercel/postgres\ driver. This change introduces a new \drizzle()\ function and associated driver, session, and migrator implementations in the \drizzle-orm/src/vercel-postgres\ module, enabling standard query execution, schema migrations, and relational schema support for Vercel Postgres databases.
drizzle-orm/src/vercel-postgres · high confidence
Add support for pgvector column types (vector, halfvec, sparsevec, bit)
Users can now define PostgreSQL vector columns using the pgvector extension. This change introduces four new column types—\vector\, \halfvec\, \sparsevec\, and \bit\—each with a dedicated builder and configuration interface. These columns support dimension constraints, handle serialization/deserialization for array and string data types, and generate the appropriate SQL types (e.g., \vector(n)\, \halfvec(n)\, \sparsevec(n)\, \bit(n)\).
_drizzle-orm/src/pg-core/columns/vector\extension · high confidence
Add support for sql.js as a SQLite database driver
This change introduces a new driver implementation for the sql.js library, allowing users to connect Drizzle ORM to SQLite running in JavaScript environments (such as browsers or Node.js without native bindings). The diff adds the core driver entry point (\driver.ts\), a session layer (\session.ts\) that handles synchronous query execution and transaction management (including savepoints), a migrator (\migrator.ts\), and re-exports from \index.ts\. This enables the existing Drizzle ORM API to work with the in-memory or file-based SQLite provided by sql.js.
drizzle-orm/src/sql-js · high confidence
Added Gel dialect query builders
Introduced a new set of query builders for the Gel database dialect, including implementations for select, insert, update, delete, count, raw queries, and materialized view refresh operations, along with the necessary type definitions and a relational query builder to support Gel-specific SQL generation and execution.
drizzle-orm/src/gel-core/query-builders · high confidence
Added Neon Auth schema and Row-Level Security policy helpers
The Neon integration now includes a pre-defined schema for the \neon\_auth.users\_sync\ table, which automatically synchronizes user data from external authentication providers, and a \crudPolicy\ function that generates PostgreSQL Row-Level Security (RLS) policies for CRUD operations. This allows users to easily apply read and modify permissions to specific roles (including Neon's built-in \authenticated\ and \anonymous\ roles) with support for skipping policy generation by passing \null\.
drizzle-orm/src/neon · high confidence
Added Netlify DB driver support for Drizzle ORM
Users can now connect Drizzle ORM to Netlify's managed database service. This change introduces a new driver implementation in the \drizzle-orm/src/netlify-db\ directory, providing a \drizzle()\ factory function that accepts Netlify-specific client configurations (including both serverless HTTP and server-side pool connections). The new module includes a custom session layer (\NetlifyDbSession\) that leverages the Neon serverless driver for queries and transactions, along with a migrator (\migrate\) compatible with both the new Netlify driver and existing Node PostgreSQL setups.
drizzle-orm/src/neon-serverless, drizzle-orm/src/netlify-db · high confidence
Added PostgreSQL array parsing and serialization utilities
Introduced new utility functions in the PostgreSQL core module to handle array data types. The \parsePgArray\ and \parsePgNestedArray\ functions now correctly parse PostgreSQL array string representations, including proper handling of nested arrays, quoted strings, and escape characters. Additionally, the \makePgArray\ function provides a robust way to serialize JavaScript arrays back into PostgreSQL-compatible string formats, ensuring correct escaping of backslashes and quotes for string elements.
drizzle-orm/src/pg-core/utils · high confidence
Added Postgres Proxy driver for remote database connections
Introduced a new Postgres Proxy driver (\pg-proxy\) that enables connecting to PostgreSQL databases via a remote callback interface rather than a direct connection. This change adds the \PgRemoteDatabase\, \PgRemoteSession\, and \PreparedQuery\ classes, allowing users to execute queries and migrations through a custom \RemoteCallback\ function. The implementation supports query caching, logging, and schema-based migrations, while explicitly noting that transactions are not supported by this proxy driver.
drizzle-orm/src/pg-proxy · high confidence
Added Prisma schema definition for PostgreSQL
A new Prisma schema file (schema.prisma) has been added to the drizzle-orm/src/prisma directory. This file defines a PostgreSQL datasource and a basic User model with id, email, and name fields, providing the foundational schema definition for Prisma client generation within this module.
drizzle-orm/src/prisma · high confidence
Added Supabase RLS schema definitions and role exports
The library now includes pre-defined schema definitions for Supabase's internal \auth\ and \realtime\ schemas, along with exports for common database roles (such as \anon\, \authenticated\, and \service\_role\). This allows users to easily reference Supabase's built-in tables (like \auth.users\) and roles in their own schema definitions without manually recreating them, facilitating the implementation of Row Level Security policies.
drizzle-orm/src/supabase · high confidence
Added utility string and array prototype extensions
The drizzle-kit codebase now includes a new utility module that extends the native String and Array prototypes with helper methods. Users interacting with the kit's internal logic will benefit from added string manipulation capabilities, including trimming specific characters, squashing multiple spaces, converting to camelCase or snake\_case, capitalizing the first letter, and conditionally concatenating strings. Additionally, an Array prototype method has been added to retrieve a random element from an array.
drizzle-kit/src/@types · high confidence
Drizzle Kit is released as an open-source standalone package
Drizzle Kit is now available as a standalone, open-source CLI tool for generating SQL migrations. This release includes the core kit codebase, build configurations (esbuild/tsup), and a test suite (Vitest). The kit automatically generates SQL migrations by comparing schema snapshots and prompts for user input in ambiguous cases like renames. It supports multiple database drivers including PostgreSQL (pg, postgres, @vercel/postgres, @neondatabase/serverless, @electric-sql/pglite), MySQL (mysql2, @planetscale/database), and SQLite (@libsql/client, better-sqlite3, bun:sqlite). The package is structured with separate TypeScript configs for CLI types and building, and includes patches for dependencies like difflib.
drizzle-kit · high confidence
Drizzle Kit v0.41.0: New Gel dialect, SingleStore connector, and PGlite support
Drizzle Kit introduces support for the Gel database dialect, a new SingleStore connector, and native PGlite support for PostgreSQL. The release also adds the ability to filter tables by extensions (such as PostGIS) and allows users to specify casing for introspected schema names. Additionally, the snapshot version has been bumped to 7, and the kit now includes a loader for handling TypeScript modules in Node.js environments.
drizzle-kit/src · high confidence
Initial SingleStore column type definitions
This change introduces the foundational column type definitions for the SingleStore database connector within Drizzle ORM. The \drizzle-orm/src/singlestore-core/columns\ directory now contains implementations for standard SQL types including integers (bigint, int, smallint, mediumint, tinyint), floating-point numbers (float, double, real), decimals, dates, datetimes, timestamps, times, years, booleans, and strings (char, varchar, text, binary, varbinary). It also adds support for JSON, custom user-defined types, SingleStore-specific enums, and vector columns. These files provide the necessary builders and column classes to map TypeScript types to SingleStore SQL types, enabling schema definition and data mapping for this new dialect.
drizzle-orm/src/singlestore-core/columns · high confidence
Initial SingleStore connector implementation
This change introduces the core SingleStore dialect and connector for Drizzle ORM, enabling users to define SingleStore-specific tables, schemas, views, and constraints. It provides the foundational query builders for SELECT, INSERT, UPDATE, and DELETE operations, along with support for Common Table Expressions (CTEs) via the \$with\ API, vector similarity search operators (dot product and Euclidean distance), and schema management through \singlestoreDatabase\.
drizzle-orm/src/singlestore-core · high confidence
Initial release of Drizzle ORM integration with Valibot
This change introduces the \drizzle-valibot\ package, providing a new way to generate Valibot validation schemas directly from Drizzle ORM tables and views. It exports \createSelectSchema\, \createInsertSchema\, and \createUpdateSchema\ functions that automatically map database column types (including PostgreSQL vectors, geometry, enums, and JSON) to corresponding Valibot schemas, while respecting nullability and default value constraints for each operation type.
drizzle-valibot/src · high confidence
Initial release of Drizzle Seed with generator versioning and relational seeding
This change introduces the \drizzle-seed\ service, enabling programmatic database seeding with support for PostgreSQL, MySQL, and SQLite. The service provides a \refine\ API to customize data generation, including support for array columns, UUIDs, and weighted random counts. It introduces generator versioning (v1 and v2) to manage changes in string and interval generation logic, and implements logic to handle cyclic and soft table relations via a \with\ option, ensuring correct insertion order and referential integrity during seeding.
drizzle-seed/src/services · high confidence
Initial release of drizzle-seed package
Introduces the drizzle-seed library, providing a new capability to generate mock data for database schemas. The package exports a SeedService and generator functions that support PostgreSQL, MySQL, and SQLite databases, allowing users to seed tables with configurable counts and handle relational data.
drizzle-seed/src · high confidence
Initial release of drizzle-typebox for TypeBox schema generation
This change introduces the \drizzle-typebox\ package, enabling users to generate TypeBox validation schemas directly from Drizzle ORM tables and views. The implementation provides \createSelectSchema\, \createInsertSchema\, and \createUpdateSchema\ functions that map Drizzle column definitions (including PostgreSQL geometry, vector, and array types, as well as MySQL and SQLite specific types) to corresponding TypeBox types. It also supports schema refinements and allows for custom TypeBox instances via a factory pattern.
drizzle-typebox/src · high confidence
Initial release of drizzle-zod plugin
The drizzle-zod package is introduced as a new plugin for Drizzle ORM that generates Zod validation schemas from Drizzle table, view, and enum definitions. It provides functions to create insert, update, and select schemas, supporting PostgreSQL, MySQL, and SQLite dialects, and allows for field overriding and refinement to ensure type-safe validation for API requests and responses.
drizzle-valibot, drizzle-zod · high confidence
Initial support for the Gel database dialect
Drizzle ORM now supports the Gel database. This change introduces the core driver, session, and transaction implementations for Gel, allowing users to connect to Gel databases using the \drizzle()\ function with Gel-specific clients. The implementation includes query execution with caching and logging support, as well as transaction handling. Note that database migrations are currently not supported for this dialect.
drizzle-orm/src/gel · high confidence
Introduce ESLint plugin to enforce WHERE clauses on Drizzle delete and update operations
The \eslint-plugin-drizzle\ package is introduced with two new linting rules: \enforce-delete-with-where\ and \enforce-update-with-where\. These rules flag Drizzle ORM \delete\ and \update\ calls that lack a \.where()\ clause, helping prevent accidental mass deletion or modification of all rows in a table. The rules are available in both \recommended\ and \all\ configurations and support a \drizzleObjectName\ option to specify which database object names should be checked.
eslint-plugin-drizzle/src · high confidence
Introduce Gel dialect support and caching infrastructure
This change adds initial support for the Gel database dialect, introducing a new \gel-core\ module with column builders (e.g., \bigint\, \boolean\, \bytes\) and table definitions, alongside a new \cache\ module that provides an abstract caching interface and a concrete \UpstashCache\ implementation for query result caching with automatic invalidation.
drizzle-orm/src · high confidence
Introduce SQLite Proxy driver for remote database connections
Adds a new \sqlite-proxy\ driver that enables Drizzle ORM to connect to SQLite databases via a remote callback interface rather than a local file or WASM instance. This location provides the core driver implementation (\SqliteRemoteDatabase\), the session layer (\SQLiteRemoteSession\) handling query execution and caching, a migrator for applying schema changes through the proxy, and the public exports. Users can now use Drizzle with SQLite backends that are accessed remotely, supporting standard operations, transactions, and batch queries through the provided callback functions.
drizzle-orm/src/sqlite-proxy · high confidence
Introduce drizzle-arktype plugin for ArkType schema generation
The new \drizzle-arktype\ package allows you to generate ArkType validation schemas directly from your Drizzle ORM tables, views, and enums. It provides \createSelectSchema\, \createInsertSchema\, and \createUpdateSchema\ functions that automatically map Drizzle column types to ArkType types while respecting nullability and optionality rules for each operation. The plugin supports PostgreSQL, MySQL, SQLite, and SingleStore, and allows you to refine or override specific fields during schema generation.
drizzle-arktype, drizzle-typebox · high confidence
Introduce drizzle-seed for deterministic database seeding
A new \drizzle-seed\ package is added to the monorepo, providing a TypeScript library to generate deterministic, realistic fake data for database tables. It leverages a seedable pseudorandom number generator to ensure reproducible data sets across runs, which is useful for testing and debugging. The package requires \drizzle-orm@0.36.4\ or higher and includes build configurations for ESM and CJS outputs, along with test infrastructure for PostgreSQL, MySQL, and SQLite.
drizzle-seed · high confidence
MySQL dialect implementation and schema definition
The MySQL dialect is now fully implemented within the \drizzle-orm/src/mysql-core\ directory, providing the core infrastructure for MySQL database interactions. This includes the \MySqlDialect\ class for query generation and migration handling, the \MySqlDatabase\ class for executing relational queries and managing CTEs via \$with\, and comprehensive schema definition tools such as \mysqlTable\, \mysqlView\, and \mysqlDatabase\ for defining tables, views, and schemas. The update also introduces builders for MySQL-specific constraints and indexes, including \foreignKey\, \index\, \uniqueIndex\, \primaryKey\, and \check\, allowing users to define complex database structures with support for features like index algorithms, locking, and foreign key actions.
drizzle-orm/src/mysql-core · high confidence
MySQL query builders now support LIMIT and ORDER BY on UPDATE and DELETE statements
The MySQL query builders for \update\ and \delete\ operations now accept \limit\ and \orderBy\ configurations, allowing users to restrict the number of affected rows and specify the order in which rows are processed. This change introduces new \MySqlUpdateConfig\ and \MySqlDeleteConfig\ interfaces that include these optional fields, enabling more precise control over write operations in MySQL.
drizzle-orm/src/mysql-core/query-builders · high confidence
Native certificate management and migration metadata utilities
The drizzle-kit utility layer now includes native support for managing local SSL certificates and generating migration file names. The new certs utility replaces external shell dependencies with Node's native child\_process to automatically generate and store localhost keys and certificates using mkcert, ensuring secure local connections without manual setup. Additionally, the words utility provides logic for preparing migration metadata, allowing users to generate migration tags with configurable prefixes (index, timestamp, unix) and randomized suffixes, improving the organization and readability of database migration files.
drizzle-kit/src/utils · high confidence
New ESLint rule enforces entityKind property on Drizzle classes
An internal ESLint plugin now includes a 'require-entity-kind' rule that ensures all Drizzle-related classes define a static readonly \[entityKind\] property with a string value. This rule is set to error by default and provides an automatic fix to insert the missing property, helping maintain consistency in class definitions within the codebase.
eslint · high confidence
New Postgres.js driver integration with caching and mocking support
This change introduces a dedicated driver for the \postgres.js\ library, allowing users to connect Drizzle ORM to databases using this specific client. The implementation includes support for query result caching via the \cache\ configuration option, a \drizzle.mock()\ function for testing without a real database, and explicit handling of date/time serialization to prevent automatic parsing by the underlying driver. It also provides a migrator module for running schema migrations.
drizzle-orm/src/postgres-js · high confidence
New SQL expression helpers for conditions and sorting
The library introduces new modules for building SQL queries, specifically adding condition operators (eq, ne, and, or, not) and sorting functions (asc, desc) to the expressions layer. These utilities allow users to construct WHERE clauses and ORDER BY statements with improved type safety and automatic parameter binding, simplifying the creation of complex filter and sort logic in select queries.
drizzle-orm/src/sql/expressions · high confidence
New SQLite query builder API with relational and advanced query support
The SQLite dialect now uses a new query builder implementation in \drizzle-orm/src/sqlite-core/query-builders\. This introduces a \QueryBuilder\ class for constructing standalone queries (including \WITH\ clauses and \SELECT DISTINCT\), a \RelationalQueryBuilder\ for fetching data with relations (\findMany\, \findFirst\), and a \SQLiteCountBuilder\ for counting rows. The existing \select\, \insert\, \update\, and \delete\ builders have been rewritten to support advanced features such as \LIMIT\ and \ORDER BY\ on \UPDATE\ and \DELETE\ statements, \INSERT ... SELECT\ syntax, and \ON CONFLICT\ handling.
drizzle-orm/src/sqlite-core/query-builders · high confidence
New Xata HTTP driver for Drizzle ORM
Drizzle ORM now supports Xata as a database target via a new HTTP-based driver. This addition introduces \XataHttpDriver\, \XataHttpSession\, and a \migrate\ utility, allowing users to connect to Xata using the \@xata.io/client\ HTTP interface. The driver leverages the PostgreSQL dialect for query generation but explicitly does not support transactions, throwing an error if transactional operations are attempted. It also includes support for query logging and caching through standard Drizzle configuration options.
drizzle-orm/src/xata-http · high confidence
New aggregate and vector distance functions for SQL queries
This change introduces new SQL function helpers in the \drizzle-orm\ library. It adds standard aggregate functions (\count\, \countDistinct\, \avg\, \avgDistinct\, \sum\, \sumDistinct\, \max\, \min\) to \aggregate.ts\, allowing users to perform common database aggregations with proper type mapping. Additionally, it adds vector distance calculation functions (\l2Distance\, \l1Distance\, \innerProduct\, \cosineDistance\, \hammingDistance\, \jaccardDistance\) in \vector.ts\, enabling similarity-based sorting and querying for vector columns. These functions are exported via the new \functions/index.ts\ barrel file.
drizzle-orm/src/sql/functions · high confidence
New import analysis tooling for Drizzle Kit
The drizzle-kit/imports-checker module has been added to provide static analysis of import dependencies. It uses an OHM grammar to parse JavaScript/TypeScript files, distinguishing between data and type imports, and tracks access chains to identify issues. The checker supports whitelist/blacklist modes, handles local and external imports, and can ignore type-only imports, helping to detect unused or problematic dependencies within the kit's source tree.
drizzle-kit/imports-checker · high confidence
New mysql2 driver with iterator support and mock capability
The \drizzle-orm\ package now includes a dedicated driver for the \mysql2\ library, located in \drizzle-orm/src/mysql2\. This addition introduces native support for iterating over query results via the \iterator\ method, allowing users to process large result sets row-by-row without loading everything into memory. The driver also exposes a \drizzle.mock()\ function for testing purposes, which returns a database instance where the \$client\ property is explicitly unavailable. Additionally, the implementation ensures that the \$client\ property on the returned database object correctly reflects the type of the underlying connection (e.g., \Pool\ vs \Connection\) based on how the client was instantiated.
drizzle-orm/src/mysql2 · high confidence
Removals
Removal of legacy PostgreSQL ORM implementation
The entire legacy source code base for the PostgreSQL ORM has been removed from the \src\ directory. This includes the core type definitions and session abstractions (\core.ts\), the SQL query builder and parameter handling (\sql.ts\), the PostgreSQL-specific dialect and session logic (\pg/core.ts\), and all column type definitions (\pg/columns/\). The public entry point (\index.ts\) and operator utilities (\operators.ts\) that exposed the previous table and query API are also deleted, effectively stripping the library of its previous data-access capabilities.
src, src/pg · high confidence
Architecture
PostgreSQL query builders restructured into dedicated modules
The PostgreSQL query builders (select, insert, update, delete, count, and relational queries) have been reorganized into individual, dedicated files within the \drizzle-orm/src/pg-core/query-builders\ directory. This change introduces new builder classes such as \PgSelectBuilder\, \PgInsertBuilder\, \PgUpdateBuilder\, and \PgDeleteBuilder\, along with supporting types and a \RelationalQueryBuilder\ for handling complex relational data fetching. The \index.ts\ file now explicitly re-exports these components, providing a clearer module structure for PostgreSQL-specific query construction while maintaining the existing API surface for users.
drizzle-orm/src/pg-core/query-builders · high confidence
Refactored drizzle-kit serializer into dialect-specific modules
The schema serialization logic in drizzle-kit has been restructured from a monolithic implementation into distinct, dialect-specific modules. New files have been added for PostgreSQL (pgSchema.ts, pgSerializer.ts, pgImports.ts), MySQL (mysqlSchema.ts, mysqlSerializer.ts, mysqlImports.ts), SQLite (sqliteSchema.ts, sqliteImports.ts), SingleStore (singlestoreSchema.ts, singlestoreSerializer.ts, singlestoreImports.ts), and Gel (gelSchema.ts, gelSerializer.ts). A central index.ts now routes serialization requests to the appropriate dialect handler, allowing each database engine to maintain its own schema definitions, import parsing, and snapshot generation logic.
drizzle-kit/src/serializer · high confidence
Behavioural changes
Build script overhaul to support dual CJS/ESM output
The build process for drizzle-typebox has been restructured to generate both CommonJS and ES Module variants. A new build script (scripts/build.ts) now handles the compilation and distribution steps, while a dedicated utility (scripts/fix-imports.ts) post-processes the generated files to correctly resolve path aliases and append the appropriate file extensions (.cjs, .js, .mjs) for both CommonJS and ESM contexts.
drizzle-typebox/scripts · high confidence
Build system migrated to tsup with automated ESM/CJS export generation
The build process for drizzle-orm has been replaced with a new script that uses tsup instead of Rollup to generate both ESM (.js) and CommonJS (.cjs) bundles. This change enables proper dual-package support by automatically populating the package.json exports field with the correct import, require, and types paths for every source entry. Additionally, a post-build step now fixes import paths in the generated files to ensure compatibility between the two module formats.
drizzle-orm/scripts · high confidence
Build system migration to tsup with ESM/CJS dual output
The drizzle-orm package has replaced its previous bundling setup with tsup, enabling the generation of both CommonJS (.cjs) and ESM (.js) entry points without bundling the source code into a single file. This change, accompanied by new TypeScript configuration files (tsconfig.build.json, tsconfig.dts.json) and a madgerc configuration, ensures that consumers can import the library using standard ESM or CommonJS module resolution, while declaration files are emitted to a separate dist-dts directory to support accurate type checking for consumers.
drizzle-orm · high confidence
Drizzle Kit CLI restructured with new dialect support and legacy command aliases
The Drizzle Kit CLI has been reorganized into a new modular structure (connections.ts, schema.ts, utils.ts, views.ts) that introduces support for the Gel and SingleStore database dialects, as well as the PGlite driver for PostgreSQL. The CLI now handles AWS Data API for PostgreSQL and normalizes SQLite/Turso connections to LibSQL. Additionally, legacy database-specific commands (such as generate:pg, push:mysql, introspect:sqlite) have been deprecated in favor of unified commands (generate, push, introspect) that accept a dialect option, simplifying the user interface while maintaining backward compatibility through hidden alias commands.
drizzle-kit/src/cli · high confidence
Increased TypeScript server truncation length
The TypeScript server's default maximum truncation length for internal declarations has been increased from 160 to 1,000,000 characters. This change, applied via a patch to the TypeScript 5.6.3 library, allows for more detailed symbol information to be displayed in the IDE without being cut off, improving the visibility of large declarations.
patches · high confidence
Integration tests migrate to Vitest and add support for new database drivers
The integration test suite has been migrated from AVA to Vitest, introducing new configuration files (vitest.config.ts, vitest-ci.config.ts) and a .env.example template. This change expands test coverage to include new database dialects and drivers, specifically adding setup and test files for SingleStore, PlanetScale, TiDB Serverless, Neon (HTTP and Serverless), LibSQL, AWS Data API, and Xata. The migration also includes infrastructure updates such as a Docker Compose file for local Neon proxying and SST configuration for AWS Data API testing.
integration-tests · high confidence
Major refactoring of drizzle-kit CLI commands to support new schema versions and dialects
The CLI command implementations in \drizzle-kit/src/cli/commands\ have been rewritten to support PostgreSQL schema versions 4 through 7, including migration logic in \pgUp.ts\ and \mysqlUp.ts\ for handling timestamp and date format changes. The \introspect.ts\ command now supports filtering by tables, schemas, and specific entities (like views and policies) for PostgreSQL, MySQL, SQLite, LibSQL, SingleStore, and Gel. New utility modules (\pgPushUtils.ts\, \mysqlPushUtils.ts\, \singlestorePushUtils.ts\, \libSqlPushUtils.ts\) provide dialect-specific logic for pushing schema changes, including data-loss warnings and statement filtering. A new \check.ts\ command validates migration journals for malformed data, collisions, and timestamp ordering issues, while \drop.ts\ allows removing specific migrations from the journal and file system.
drizzle-kit/src/cli/commands · high confidence
MySQL column definitions restructured with explicit builders and config options
The MySQL column definitions in \drizzle-orm/src/mysql-core/columns\ have been reorganized into a modular structure where each data type (such as \bigint\, \datetime\, \decimal\, and \enum\) is now defined in its own file with dedicated builder classes and configuration interfaces. This change introduces explicit support for MySQL-specific features, including \unsigned\ modifiers for numeric types, fractional second precision (\fsp\) for \datetime\, and \onUpdateNow\ for timestamps. It also standardizes the API by replacing generic column creation with specific builder methods (e.g., \autoincrement()\, \generatedAlwaysAs\) and ensures consistent type mapping between driver values and TypeScript types.
drizzle-orm/src/mysql-core/columns · high confidence
New CLI validation schemas for database drivers and commands
The drizzle-kit CLI now uses a comprehensive set of Zod-based validation schemas to enforce configuration and command-line arguments. This change introduces strict validation for connection credentials across PostgreSQL, MySQL, SQLite (including D1, Expo, Durable Objects, and Turso), LibSQL, SingleStore, and Gel databases, ensuring required fields like URLs, hosts, and authentication tokens are present. It also defines validation rules for core CLI commands (generate, push, pull, introspect, check) and the Studio interface, while adding support for new features such as casing type enforcement (snake\_case/camelCase) and specific driver constraints like AWS Data API and pglite.
drizzle-kit/src/cli/validations · high confidence
New Node-Postgres driver implementation with prepared statement and caching support
The \drizzle-orm/src/node-postgres\ package now provides a complete, new implementation for the Node-Postgres driver, introducing \NodePgDriver\, \NodePgSession\, and \NodePgPreparedQuery\ classes. This change enables users to leverage prepared statements with custom type parsers for PostgreSQL-specific types (such as timestamps and intervals) and integrates OpenTelemetry tracing for query execution. The driver also supports query result caching via the \cache\ configuration option and exposes a \$client\ property on the database instance for direct access to the underlying \pg.Pool\ or \Client\. Additionally, a \drizzle.mock()\ function is available for testing purposes.
drizzle-orm/src/node-postgres · high confidence
New better-sqlite3 driver implementation with mock support and savepoint transactions
The better-sqlite3 driver now provides a dedicated \drizzle()\ factory that accepts a \better-sqlite3\ Database instance or connection string, exposing a \$client\ property for direct access to the underlying driver. This update introduces \drizzle.mock()\ for testing without a real database, implements nested transactions using SQLite savepoints, and fixes the \.get()\ method to correctly return \undefined\ when a query yields no results.
drizzle-orm/src/better-sqlite3 · high confidence
PostgreSQL column definitions restructured with new builders and type modes
The PostgreSQL column definitions in \drizzle-orm/src/pg-core/columns\ have been reorganized into individual module files (e.g., \bigint.ts\, \date.ts\, \integer.ts\) and re-exported via a central \index.ts\. This change introduces new builder classes (such as \PgBigInt53Builder\ and \PgBigInt64Builder\) that support distinct data modes (e.g., \number\ vs. \bigint\), allowing users to choose between 53-bit safe numbers and native 64-bit bigints. Additionally, columns like \date\ now support a \mode\ configuration to switch between \Date\ objects and string representations, and integer columns expose \generatedAlwaysAsIdentity\ and \generatedByDefaultAsIdentity\ methods for identity column support.
drizzle-orm/src/pg-core/columns · high confidence
Refactor query builder types and introduce TypedQueryBuilder base class
The query builder module has been restructured to improve type safety and internal consistency. A new abstract \TypedQueryBuilder\ base class is introduced to standardize how query builders expose selected fields and SQL generation. The type definitions in \select.types.ts\ have been significantly updated to refine how subquery selections, join nullability, and result shapes are inferred, ensuring that column aliases and table associations are handled more accurately during type checking.
drizzle-orm/src/query-builders · medium confidence
Refactored SQL query building with new chunk-based architecture and OpenTelemetry tracing
The SQL query generation engine has been restructured to use a new chunk-based system (SQLChunk, StringChunk, Param, Placeholder) and a dedicated SQL class, replacing previous internal implementations. This change introduces OpenTelemetry integration for Postgres, adding tracing spans to the query building process to improve observability. The refactoring also resolves circular dependencies and improves type performance, while ensuring that placeholders are correctly mapped to their driver values and null values are handled properly for columns with mappers.
drizzle-orm/src/sql · medium confidence
SQLite column definitions restructured with new modes and builders
The SQLite column definitions in \drizzle-orm/src/sqlite-core/columns\ have been reorganized into individual module files (blob, common, custom, integer, numeric, real, text) and re-exported via a new \all.ts\ entry point. This change introduces new column modes: \blob\ now supports \json\, \bigint\, and \buffer\ modes; \text\ supports a \json\ mode for automatic serialization; \numeric\ supports \string\, \number\, and \bigint\ modes; and \integer\ now includes \timestamp\ and \boolean\ modes. The \common.ts\ module centralizes base builders and adds support for \generatedAlwaysAs\ and unique constraint naming.
drizzle-orm/src/sqlite-core/columns · high confidence
SQLite dialect core module restructured with new query builders and schema definitions
The \drizzle-orm/src/sqlite-core\ module has been reorganized into a new file structure, introducing dedicated builders for schema elements (checks, foreign keys, indexes, primary keys, unique constraints) and query operations (count, raw, select, update, delete). This change adds support for \LIMIT\ and \ORDER BY\ in \UPDATE\ and \DELETE\ statements, enables the \WITH\ clause (CTEs) via \$with\, and introduces a \$count\ method for counting rows. The dialect now handles casing caching and supports both sync and async execution modes with integrated query caching. Additionally, the module now includes full support for SQLite views (\sqliteView\) and improved type safety for table aliases and subqueries.
drizzle-orm/src/sqlite-core · high confidence
drizzle-zod overhauled to support Zod v4 with type coercion and factory-based schema creation
The drizzle-zod package has been rewritten to support Zod v4, introducing a new \createSchemaFactory\ API that allows users to configure global type coercion for strings, numbers, booleans, dates, and bigints, as well as provide a custom Zod instance. The library now generates more precise TypeScript types for database columns across PostgreSQL, MySQL, SingleStore, and SQLite, including specific handling for geometry, vector, and array types, while correctly managing insert/update schema conditions for generated and identity columns.
drizzle-zod/src · high confidence
Fixes
Updated MySQL and PostgreSQL proxy migration snapshots
The integration test fixtures for the Drizzle v2 MySQL and PostgreSQL proxies have been updated to align with the latest migration snapshot format. For MySQL, the test suite now includes a second migration step that adds a \users12\ table with a unique index on the \name\ column, and the corresponding snapshot metadata has been refreshed. Similarly, the PostgreSQL proxy tests have been updated to include a second migration step adding a \users12\ table, ensuring the proxy's migration handling is correctly validated against these schema changes.
integration-tests/drizzle2/mysql-proxy · high confidence
Updated build scripts to fix ESM/CJS import paths in generated packages
The build process for the drizzle-valibot and drizzle-zod packages now includes a dedicated post-build step that automatically corrects import paths in the distributed files. This ensures that CommonJS (\.cjs\, \.d.cts\) and ES Module (\.js\, \.mjs\, \.d.mts\) outputs reference each other with the correct file extensions, resolving potential runtime errors when consumers import from these packages.
drizzle-valibot/scripts, drizzle-zod/scripts · high confidence
Test coverage
Add Knex integration type tests; Added Kysely integration type tests for Postgres and MySQL schemas; Added MySQL integration tests and benchmarking suite; Added MySQL integration tests for caching and custom types; Added Xata integration test setup and client; Added casing cache tests for MySQL, PostgreSQL, and SQLite; Added comprehensive TypeBox schema validation tests for MySQL, PostgreSQL, SQLite, and SingleStore; Added comprehensive integration tests for PostgreSQL drivers and Neon services; Added comprehensive test coverage for drizzle-kit CLI and schema diffing; Added comprehensive test coverage for drizzle-valibot schema generation; Added integration tests for Bun SQL and Bun SQLite drivers; Added integration tests for CommonJS and ESM driver initialization; Added integration tests for Drizzle ORM with SQLite Durable Objects; Added integration tests for MySQL returning IDs and version schema validation; Added integration tests for PostGIS and pgvector extensions; Added integration tests for Postgres relational schema mapping; Added integration tests for SQLite drivers; Added integration tests for database introspection across multiple dialects; Added integration tests for drizzle-kit push across all supported dialects; Added integration tests for duplicate relational schema handling in MySQL and PostgreSQL; Added integration tests for dynamic import resolution; Added integration tests for read replicas across MySQL, PostgreSQL, SQLite, and SingleStore; Added integration tests for the Gel database dialect; Added integration tests for the drizzle-seed library; Added test coverage for PostgreSQL array handling, relational schemas, and RDS Data API type hints; Added tests for Drizzle ORM ESLint rules; Added tests for PostgreSQL RLS policies and roles; Added tests for PostgreSQL index generation and diffing; Added tests for the isConfig utility function; Added type test for Neon HTTP auth token variants; Added type tests for MySQL, PostgreSQL, and SQLite seed/reset functions; Added type tests for dialect-specific aliased tables and views; Added type tests for joins under NodeNext module resolution; Added type tests for the Gel database dialect; Comprehensive type tests added for SQLite query builders; Initial type tests for SingleStore connector; Integration tests for SingleStore connector; MySQL type tests restructured for comprehensive coverage; PostgreSQL type tests restructured and expanded; Relational integration tests migrated to Vitest with multi-database coverage; Updated PostgreSQL integration test schema.
Dependencies
Drizzle ORM v0.45.3 release with ArkType validation support
This release updates the Drizzle ORM monorepo to version 0.45.3 and introduces a new \drizzle-arktype\ package (v0.1.3) for generating ArkType schemas from Drizzle ORM schemas. The \drizzle-zod\ package has been upgraded to v0.8.3, now supporting both Zod v3 and v4 via peer dependency ranges. Additionally, \drizzle-seed\ is updated to v0.3.1, \drizzle-typebox\ to v0.3.3, and \drizzle-valibot\ to v0.4.2. The root \package.json\ has been restructured to use pnpm workspaces with Turbo for build orchestration, and the lockfile has been upgraded to pnpm v9.0 format.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 39 → 51 (+12.1)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.16) — scores are not directly comparable.
Lenses
- Code Health 67 → 84 (+16.6)
- Architecture 86 (new)
- Maturity 57 → 67 (+10.1)
- Readiness 20 → 33 (+12.9)
- Security 54 → 71 (+16.6)
- Performance 60 (new)
Resolved (107)
- Boundary-crossing change coupling: index.ts ↔ ast.ts (drizzle-orm/src/aws-data-api/common/index.ts)
- Boundary-crossing change coupling: introspect-singlestore.ts ↔ vector.ts (drizzle-kit/src/introspect-singlestore.ts)
- Boundary-crossing change coupling: singlestoreSerializer.ts ↔ vector.ts (drizzle-kit/src/serializer/singlestoreSerializer.ts)
- Change coupling: GeneratorFuncs.ts ↔ SeedService.ts (drizzle-seed/src/services/GeneratorFuncs.ts)
- Change coupling: analyze.ts ↔ index.ts (drizzle-kit/imports-checker/analyze.ts)
- Change coupling: ast.ts ↔ options.ts (eslint-plugin-drizzle/src/utils/ast.ts)
- Change coupling: checker.ts ↔ grammar.ohm-bundle.js (drizzle-kit/imports-checker/checker.ts)
- Change coupling: enforce-delete-with-where.ts ↔ ast.ts (eslint-plugin-drizzle/src/enforce-delete-with-where.ts)
- Change coupling: enforce-delete-with-where.ts ↔ enforce-update-with-where.ts (eslint-plugin-drizzle/src/enforce-delete-with-where.ts)
- Change coupling: enforce-update-with-where.ts ↔ ast.ts (eslint-plugin-drizzle/src/enforce-update-with-where.ts)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Dimension evaluation failed
- FileTooLong: src/jsonDiffer.js (drizzle-kit/src/jsonDiffer.js)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 87 more
New (626)
- Assertions commented out: Simple case from GH (integration-tests/tests/relational/issues-schemas/wrong-mapping/pg.test.ts)
- Change coupling clique: dialect.ts, dialect.ts, dialect.ts (drizzle-orm/src/mysql-core/dialect.ts)
- Change coupling: db.ts ↔ db.ts (drizzle-orm/src/mysql-core/db.ts)
- Change coupling: delete.ts ↔ insert.ts (drizzle-orm/src/pg-core/query-builders/delete.ts)
- Change coupling: delete.ts ↔ update.ts (drizzle-orm/src/mysql-core/query-builders/delete.ts)
- Change coupling: delete.ts ↔ update.ts (drizzle-orm/src/pg-core/query-builders/delete.ts)
- Change coupling: driver.ts ↔ driver.ts (drizzle-orm/src/better-sqlite3/driver.ts)
- Change coupling: driver.ts ↔ driver.ts (drizzle-orm/src/mysql2/driver.ts)
- Change coupling: session.ts ↔ session.ts (drizzle-orm/src/neon-serverless/session.ts)
- Change coupling: tables.ts ↔ tables.ts (drizzle-orm/type-tests/mysql/tables.ts)
- Change coupling: tables.ts ↔ tables.ts (drizzle-orm/type-tests/pg/tables.ts)
- Change-coupling hub: driver.ts → driver.ts, driver.ts, driver.ts (drizzle-orm/src/node-postgres/driver.ts)
- Change-coupling hub: driver.ts → driver.ts, driver.ts, driver.ts, driver.ts (drizzle-orm/src/neon-serverless/driver.ts)
- Change-coupling hub: driver.ts → driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts (drizzle-orm/src/vercel-postgres/driver.ts)
- Change-coupling hub: driver.ts → driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts (drizzle-orm/src/bun-sqlite/driver.ts)
- Change-coupling hub: driver.ts → driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts, driver.ts (drizzle-orm/src/libsql/driver.ts)
- Coverage not measured — JavaScript/TypeScript suite
- Critical CVE: [CVE redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 606 more
Changes since last survey
- 5 commits — 5 feature/other, 0 fixes
By area
- .github/workflows — 2 commits
- (root) — 1 commit
- drizzle-kit/vitest.config.ts — 1 commit
- integration-tests/vitest.config.ts — 1 commit
Notable commits
- change: +
- change: [All-kit]: Warn when journal timestamps can cause migrations to be skipped (#6301)
- change: exclude gel from pull
- change: remove gel
- change: skip gel
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
drizzle-team/drizzle-orm was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 15454dbe49d827c6081f3d0231e2e7985e517295 — the exact code this score is about.
- Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.