ORM for you to settlecross-outship ship ship
JavaScript
TypeScript
Get Started
Documentation
with db with db front front
back back
board
Play
Normal
powered by 3310snake.com
with db with db front front
back back love

We ship decently fast

Drizzle Team and Active Contributors

Andrew Sherman Andrew Sherman
Dan Kochetov Dan Kochetov
Alex Blokh Alex Blokh
Mykhailo Stratovych Mykhailo Stratovych
Roman Nabukhotnyi Roman Nabukhotnyi
Vladislav Stohnii Vladislav Stohnii
Serhii Reka Serhii Reka
Oleksii Khomenko Oleksii Khomenko
Artem Odiiko Artem Odiiko
Vitalii Staryk Vitalii Staryk
angelelz angelelz
rphlmr rphlmr
mario564 mario564
intelligently intelligently
June 2024
July 2024
August 2024
September 2024
  • Some Tweets
October 2024
  • ORM v0.36.0 release Row-Level Security Support for PostgreSQL
    • Manage roles
    • Manage policies
    • Enable RLS for tables
    • Enable RLS for views!
    • Special import drizzle-orm/neon for Neon
    • Special import drizzle-orm/supabase for Supabase
  • Kit v0.27.0 release Row-Level Security Support for PostgreSQL
    • Manage roles
    • Manage policies
    • Enable RLS for tables
    • Enable RLS for views!
    • Special import drizzle-orm/neon for Neon
    • Special import drizzle-orm/supabase for Supabase
  • Documentation site restructure and improvements
    • New "Get Started" section
    • New "Fundamentals" section
    • "Connect" is now flat and has proper navigation
    • The Kit section is gone, and you now have a "Migrations" section with full information about the Kit
    • Updated UI
    • Content restructuring
    • And more
  • ORM v0.34.0 release Breaking changes:
    • Added new dialect "Turso" that needs a newer libsql version
    Features:
    • LibSQL/Turso and SQLite migration updates
    • SQLite "generate" and "push" statement updates
    • LibSQL/Turso "generate" and "push" statement updates
    • New casing param in drizzle-orm
    • Monodriver: A new and easy way to start using Drizzle
    • Schema improvements: Optional names for columns and callback in Drizzle table
    • New "count" API
    • Ability to execute raw strings
    • Exposed db.$client
  • Kit v0.25.0 release Breaking changes:
    • Added new dialect "Turso" that needs a newer libsql version
    Features:
    • LibSQL/Turso and SQLite migration updates
    • SQLite "generate" and "push" statement updates
    • LibSQL/Turso "generate" and "push" statement updates
    • New casing param in drizzle-kit
November 2024
  • 🎉 OneDollarStats is now available in Open Alpha release! OneDollarStats is a $1 per month web analytics built by Drizzle Team
  • 🎉 New drizzle-seed package is now available For more info check our seed documentation
  • ORM v0.36.4 release
    • Added .$withAuth() API for Neon HTTP driver
    • Added OVERRIDING SYSTEM VALUE api to db.insert()
  • ORM v0.36.3 release
    • Support for UPDATE ... FROM in PostgreSQL and SQLite
    • Support for INSERT INTO ... SELECT in all dialects
  • Kit v0.28.1 release and ORM v0.36.2 release
    • Support more types in like, notLike, ilike and notIlike expressions
    • Fixed typos in repository: thanks @armandsalle, @masto, @wackbyte, @Asher-JH, @MaxLeiter
    • fix: wrong dialect set in mysql/sqlite introspect
    • Fixed .generated behavior with non-strict tsconfig
    • Fix Drizzle ORM for expo-sqlite
    • Fixed lack of schema name on columns in sql
    • fix: Adjust neon http driver entity kind
    • Export PgIntegerBuilderInitial type
    • [MySQL] Correct $returningId() implementation to correctly store selected fields
  • Kit v0.28.0 release and ORM v0.36.1 release
    • Added an OHM static imports checker to identify unexpected imports within a chain of imports in the drizzle-kit repo. For example, it checks if drizzle-orm is imported before drizzle-kit and verifies if the drizzle-orm import is available in your project.
    • Adding more columns to Supabase auth.users table schema
      Bug Fixes
    • [BUG]: Using sql.placeholder with limit and/or offset for a prepared statement produces TS error
    • [BUG] If a query I am trying to modify with a dynamic query (....$dynamic()) contains any placeholders, I'm getting an error that says No value for placeholder.... provided
    • [BUG]: Error thrown when trying to insert an array of new rows using generatedAlwaysAsIdentity() for the id column
    • [BUG]: Unable to Use BigInt Types with Bun and Drizzle
    • [BUG]: [drizzle-kit]: Fix breakpoints option cannot be disabled
    • [BUG]: drizzle-kit introspect: SMALLINT import missing and incorrect DECIMAL UNSIGNED handling
    • Unsigned tinyints preventing migrations
    • [BUG]: Can't parse float(8,2) from database (precision and scale and/or unsigned breaks float types)
    • [BUG]: PgEnum generated migration doesn't escape single quotes
    • [BUG]: single quote not escaped correctly in migration file
    • [BUG]: Migrations does not escape single quotes
    • [BUG]: Issue with quoted default string values
    • [BUG]: SQl commands in wrong roder
    • [BUG]: Time with precision in drizzle-orm/pg-core adds double-quotes around type
    • [BUG]: Postgres push fails due to lack of quotes
    • [BUG]: TypeError: Cannot read properties of undefined (reading 'compositePrimaryKeys')
    • [BUG]: drizzle-kit introspect generates CURRENT_TIMESTAMP without sql operator on date column
    • [BUG]: Drizzle-kit introspect doesn't pull correct defautl statement
    • [BUG]: Problem on MacBook - This statement does not return data. Use run() instead
    • [BUG]: Enum column names that are used as arrays are not quoted
    • [BUG]: drizzle-kit generate ignores index operators
    • dialect param config error message is wrong
    • [BUG]: Error setting default enum field values
    • [BUG]: drizzle-kit does not respect the order of columns configured in primaryKey()
    • [BUG]: Cannot drop Unique Constraint MySQL
  • Kit v0.27.2 release
    • Fix [BUG]: Undefined properties when using drizzle-kit push
    • Fix TypeError: Cannot read properties of undefined (reading 'isRLSEnabled')
    • Fix push bugs, when pushing a schema with linked policy to a table from drizzle-orm/supabase
  • Kit v0.27.1 release
    • Fix: [BUG]: When using RLS policies and Views, the view is the last clause generated
December 2024
  • drizzle-seed v0.3.0 release
    • The seed function can now accept Drizzle Relations objects and treat them as foreign key constraints
  • ORM v0.38.3 release
    • Fix incorrect deprecation detection for table declarations
    • SingleStore dialect support for all validator packages
  • drizzle-seed v0.2.1 release
    • We are introducing a new parameter, version, to the seed function options. This parameter, which controls generator versioning, has been added to make it easier to update deterministic generators in the future.
    • interval unique generator was changed and upgraded to v2
    • string generators were changed and upgraded to v2
  • ORM v0.38.2 release
    • New features for MySQL users: USE INDEX, FORCE INDEX and IGNORE INDEX for MySQL
  • Kit v0.30.1 release
    • New command: drizzle-kit export
  • drizzle-seed v0.1.3 release
    • Added support for postgres uuid columns
    • Added support for postgres array columns
    • Added support for cyclic tables. You can now seed tables with cyclic relations.
      Bug Fixes
    • [BUG]: reset fails with a syntax error if using a - in pgTableCreator to prefix tables
    • seeding a table with columns that have .default(sql``) will result in an error
  • ORM bug fixes
    • [FEATURE]: publish packages un-minified
    • Don't allow unknown keys in drizzle-zod refinement
    • [BUG]:drizzle-zod not working with pgSchema
    • Add createUpdateSchema to drizzle-zod
    • [BUG]:drizzle-zod produces wrong type
    • [BUG]:Drizzle-zod:Boolean and Serial types from Schema are defined as enum when using CreateInsertSchema and CreateSelectSchema
    • [BUG]: Drizzle typebox enum array wrong schema and type
    • [BUG]:drizzle-zod not working with pgSchema
    • [BUG]: drizzle-zod not parsing arrays correctly
    • [BUG]: Drizzle typebox not supporting array
    • [FEATURE]: Export factory functions from drizzle-zod to allow usage with extended Zod classes
    • [FEATURE]: Add support for new pipe syntax for drizzle-valibot
    • [BUG]: drizzle-zod's createInsertSchema() can't handle column of type vector
    • [BUG]: drizzle-typebox fails to map geometry column to type-box schema
    • [BUG]: drizzle-valibot does not provide types for returned schemas
    • [BUG]: Drizzle-typebox types SQLite real field to string
    • [BUG]: drizzle-zod: documented usage generates type error with exactOptionalPropertyTypes
    • [BUG]: drizzle-zod does not respect/count db type range
    • [BUG]: drizzle-zod not overriding optional
    • [BUG]:drizzle-zod doesn't accept custom id value
    • [FEATURE]: Support for Database Views in Drizzle Zod
    • [BUG]: drizzle-valibot return type any
    • [BUG]: drizzle-zod Type generation results in undefined types
    • [BUG]: GeneratedAlwaysAs
    • [FEATURE]: $inferSelect on a view
    • [BUG]:Can't infer props from view in schema
  • ORM v0.38.0 release
    • Added new function getViewSelectedFields
    • Added $inferSelect function to views
    • Added InferSelectViewModel type for views
    • Added isView function
  • Kit v0.30.0 release Starting from this update, the PostgreSQL dialect will align with the behavior of all other dialects. It will no longer include IF NOT EXISTS, $DO, or similar statements, which could cause incorrect DDL statements to not fail when an object already exists in the database and should actually fail.
  • Kit v0.29.0 release and ORM v0.37.0 release
    • New dialect SingleStore is available in Drizzle
    • New driver for Durable Objects SQLite is available in Drizzle
    • [BUG]: $with is undefined on withReplicas
    • [BUG]: Neon serverless driver accepts authToken as a promise, but the $withAuth does not
January
  • ORM v0.39.1 release
    • Fixed SQLite onConflict clauses being overwritten instead of stacked
    • Added view support to aliasedTable()
    • Fixed sql builder prefixing aliased views and tables with their schema
  • Kit v0.30.4 release
    • Fix bug that generates incorrect syntax when introspect in mysql
    • Fix a bug that caused incorrect syntax output when introspect in unsigned columns
    • Bug Fixes
    • Allow INSERT in CTEs (WITH clauses)]
    • Support Raw SQL in CTE Query Builder]
    • Include pre-defined database objects related to Neon Identity in drizzle-orm]
    • $count is undefined on withReplicas]
    • get[Materialized]ViewName, ie getTableName but for (materialized) views.]
    • $count API error with vercel-postgres]
    • Cannot use schema.coerce on refining drizzle-zod types]
    • Type Coercion in drizzle-zod]
    • The inferred type of X cannot be named without a reference ...
    • drizzle-zod excessively deep and possibly infinite types]
  • ORM v0.39.0 release
    • You can now use the new Bun SQL driver released in Bun v1.2.0 with Drizzle
    • WITH now supports INSERT, UPDATE, DELETE and raw sql template
    • New tables in /neon import
    • Added getViewName util function
  • Kit v0.30.3 release
    • As SingleStore did not support certain DDL statements before this release, you might encounter an error indicating that some schema changes cannot be applied due to a database issue. Starting from this version, drizzle-kit will detect such cases and initiate table recreation with data transfer between the tables
February
  • Drizzle Studio updates:
    • Added the ability to create/alter tables.
    • Added the ability to create/alter views.
    • Added the ability to refresh db schema.
    • Improved dropdowns.
    • Improved style customization.
    • Added filter by entity type (table/view).
    • Revised dependency tree and reduced bundle size.
    • Added database metadata to bug report.
    • Added range selection with copy/paste capability.
  • ORM v0.40.0 release
    • Drizzle is getting a new Gel dialect with its own types and Gel-specific logic. In this first iteration, almost all query-building features have been copied from the PostgreSQL dialect since Gel is fully PostgreSQL-compatible. The only change in this iteration is the data types. The Gel dialect has a different set of available data types, and all mappings for these types have been designed to avoid any extra conversions on Drizzle's side. This means you will insert and select exactly the same data as supported by the Gel protocol.
  • Kit v0.30.5 release
    • Drizzle is getting a new Gel dialect with its own types and Gel-specific logic. Kit is getting new "gel" dialect option
this month
  • ORM v0.41.0 release
    • bigint, number modes for SQLite, MySQL, PostgreSQL, SingleStore decimal & numeric column types
    • Changed behavior of sql-js query preparation
    • Fixed MySQL, SingleStore varchar allowing not specifying length in config
    • Fixed MySQL, SingleStore binary, varbinary data\\type mismatches
    • Fixed numeric\\decimal data\\type mismatches
    • Fixed drizzle-studio + AWS Data Api connection issue
    • Fixed isConfig utility function checking types of wrong fields
    • Enabled supportBigNumbers in auto-created mysql2 driver instances
    • Fixed custom schema tables querying in RQBv1
    • Removed in-driver mapping for postgres types
    • Fixed SQLite buffer-mode blob sometimes returning number[]
  • Drizzle Studio updates:
    • Added new setting option for expanding subviews.
    • Added date and time pickers.
    • New settings option for pagination by page or limit offset.
    • Improved error handling for INSERT/UPDATE/DELETE statements in data table.
    • Added column type to header cell.
    • Added export in xlsx format.
    • Added callback on bug report button click.
    • Added ability to customize the error page.
    • Added css variable for run query button color.
    • Fixed issues with rowid.
    • Improved SQL console with snippet system.
  • ORM v0.40.1 release
    • Updates to neon-http for @neondatabase/[email protected]. Starting from this version, drizzle-orm will be compatible with both @neondatabase/serverless <1.0 and >1.0
Performance
Drizzle doesn't slow you down
Drizzle
v0.33.0
Bun Logo
Prisma
v5.18.0
Bun Logo
avg latency: 0.0ms
avg latency: 0.0ms
avg: 0 req/sec
Failed requests
Drizzle handled xNaN more requests
0
avg: 0 req/sec
Failed requests
Drizzle handled xNaN more requests
0
avg CPU load: 0.0%
avg CPU load: 0.0%
Go to benchmark results
Live on the edge
We support every major serverful and serverless runtime
live on the edge
Cloudflare Workers
Supabase functions
Vercel functions
Created by potrace 1.15, written by Peter Selinger 2001-2017
Created by potrace 1.15, written by Peter Selinger 2001-2017
Deno deploy
Bun Logo
Bun Logo
Bun
Lagon
Fly.io
ElectronJS
Expo
React Logo
React Logo
React Native
Browser
Connect to any database
We support all platform-specific, tcp, http and websocket based drivers
connect everywhere
Drizzle Studio
Explore and manipulate your data
Drizzle Studio Drizzle Studio
Our Sponsors
You help us build a better future
Become a sponsor
Pricing
Just kidding, Drizzle is free and open-source
You can still make your contribution!
Developers love Drizzle ORM!
thdxr
Dax
I hate Drizzle
anthonysheww
Anthony Shew
I hate @DrizzleOrm so much that I wrote the Auth.js adapter for it.
adamdotdev
Adam
i know this won't get me on the homepage, but @DrizzleORM is so good
dont_know
Some Body
Django had it in 2008
EddyVinckk
Eddy Vinck
I love @DrizzleORM that's it, that's the tweet
JacobWolf
Jacob Wolf 🐝
I love @DrizzleORM.
t3dotgg
Theo
Drizzle is terrible. It doesn’t even support Mongo.
aarondfrancis
Aaron Francis
Y'all should just copy everything Eloquent has
imfelquis
Ofelquis Gimenes
unpredictable results is what feeds the human race, ban Drizzle now and all this typing gibberish all together
james_r_perkins
James Perkins
Sorry @DrizzleORM you suck!
James Perkins
tslamoon1
tslamoon
I'll shave my head if drizzle adds MSSQL support by the end of September.
FredKSchott
fks
Astro DB is powered by Drizzle! ... and we regret everything omg this thing sucks
_raynirola
Ray
DrizzleOrm is not an "ORM", it's merely a overrated typesafe sql wrapper, not even a query builder.
saltyAom
SaltyAom
Prisma Bun: 1.4 MB/s Drizzle Bun: 9.8 MB/s
SaltyAom
chribjel
Christoffer Bjelke
How many times has this little shit snuck into your dependencies?
Christoffer Bjelke
hisbvdis
Roma Zvarych
I have finally switched from @prisma to @DrizzleORM. It was not easy. Dear Drizzle Team, you have created an awesome orm with awfull documentation. Anyway, good for you, thanks and good luck.
aokijs
Aoki
Honestly, fuck the benchmarks. I don‘t care which one‘s faster. All I can say is that Drizzle made my life working with databases dramastically better and that‘s all that matters for me. Thanks for your hard work 🙏🏻
silvenon
Matija Marohnić
Every time I hear about @DrizzleORM.
Matija Marohnić
spacesexdragon
Joseph Mama 🐀
Joseph Mama 🐀