36,251
stars
+11
1,768
forks
86
watchers
1,977
prs
3,872
issues
186
releases
709
discussions
README
Headless ORM for NodeJS, TypeScript and JavaScript 🚀 Website • Documentation • Twitter • Discord What's Drizzle? Drizzle is a modern TypeScript ORM developers wanna use in their next project. It is lightweight at only ~7.4kb minified+gzipped, and it's tree shakeable with exactly 0 dependencies. Drizzle supports every PostgreSQL, MySQL and SQLite database, including serverless ones like Turso, Neon, Xata, PlanetScale, Cloudflare D1, FlyIO LiteFS, Vercel Postgres, Supabase and AWS Data API. No bells and whistles, no Rust binaries, no serverless adapters, everything just works out of the box. Drizzle is serverless-ready by design. It works in every major JavaScript runtime like NodeJS, Bun, Deno, Cloudflare Workers, Supabase functions, any Edge runtime, and even in browsers. With Drizzle you can be fast out of the box and save time and costs while never introducing any data proxies into your infrastructure. While you can use Drizzle as a JavaScript library, it shines with TypeScript. It lets you declare SQL schemas and build both relational and SQL-like queries, while keeping the balance between type-safety and extensibility for toolmakers to build on top. Ecosystem While Drizzle ORM remains a thin typed layer on top of SQL, we made a set of tools for people to have best possible developer experience. Drizzle comes with a powerful Drizzle Kit CLI companion for you to have hassle-free migrations. It can generate SQL migration files for you or apply schema changes directly to the database. We also have Drizzle Studio for you to effortlessly browse and manipulate data in your database of choice. Documentation Check out the full documentation on the website. Our sponsors ❤️
Top issues
#376Add proper error handling and wrapping62 comments · 2023-04-04#695Implement infering table model with relations51 comments · 2023-06-02#886[FEATURE]: Add a possibility to add a comment on a Table, Column.......49 comments · 2023-07-13#3320error: cannot drop sequence drizzle.__drizzle_migrations_id_seq because other objects depend on it38 comments · 2024-07-15#1083[FEATURE]: Default select for custom types37 comments · 2023-08-21#423[BUG]: design: working with dynamic schemas is practically impossible37 comments · 2023-04-09#1728[FEATURE]: onConflictDoUpdate() set many36 comments · 2023-12-29#1520[BUG]: No way to use `bun:sqlite` together with dirzzle-kit33 comments · 2023-11-16
Discussions
#6640ManaWG: a shared-flat app with exact money on Drizzle and PostgreSQL0 comments · 2026-11-06#6637drizzle-mcp: Drizzle Studio for coding agents1 comments · 2026-11-05#6601Show and tell: Hardening TypeScript MCP Database Tools — Walkthrough on Read-Only Guardrails, CTE Defenses & Stdio Isolation0 comments · 2026-10-27#6544⚡ In-Engine Hybrid Search for Drizzle ORM & Postgres (3.2x faster than Elasticsearch, 0 API tokens)0 comments · 2026-10-20#6539drizzle-kit 0.31.10 license scope and bundled notice clarification1 comments · 2026-10-19#6530A form builder's four identities: draft version, published revision, question ID and row ID0 comments · 2026-10-19#6507SQLSage: local review of PostgreSQL SELECTs generated by Drizzle0 comments · 2026-10-15#6480Urgent technical guidance- Drizzle/TiDB migration-ledger reconciliation1 comments · 2026-10-12
Latest release
0.45.4 0.45.4 2026-10-08- Fixed postgres-js not using prepared queries on explicit .prepare(name)