Pular para o conteúdo
Tecnologia

Drizzle é ORM type-safe ultralight. Zero dependencies, SQL-like API. Roda em edge (Cloudflare Workers). Alternativa ao Prisma.

Conceitos Principais

Schema Definition

TypeScript code. export const users = pgTable("users", { id: serial("id").primaryKey(), email: text("email") }). Não precisa generate.

SQL-like API

db.select().from(users).where(eq(users.id, 1)). Familiar para quem conhece SQL. Type-safe.

Edge Compatible

Zero runtime dependencies. Runs em V8 isolates. Cloudflare Workers, Vercel Edge.

Migrations

drizzle-kit generate. drizzle-kit push. Manual ou auto. Git tracked.

Passo a Passo

  1. Install Drizzle: npm install drizzle-orm pg. npm install -D drizzle-kit. drizzle.config.ts para config.
  2. Define Schema: import { pgTable, serial, text } from "drizzle-orm/pg-core"; export const users = pgTable("users", { id: serial("id").primaryKey(), email: text("email").notNull().unique() });
  3. Create Client: import { drizzle } from "drizzle-orm/node-postgres"; import { Pool } from "pg"; const pool = new Pool({ connectionString }); export const db = drizzle(pool);
  4. Query Data: import { users } from "./schema"; const allUsers = await db.select().from(users); const user = await db.select().from(users).where(eq(users.id, 1));
  5. Migrations: npx drizzle-kit generate:pg. Gera SQL migrations. npx drizzle-kit push:pg para apply.

Boas Praticas

Recomendacoes

• Use para edge/serverless

• SQL-like queries são idiomáticas

• Git track migrations

• Connection pooling

• Type imports from schema

• Use with Neon, Supabase, Cloudflare D1

Erros Comuns

Evite estes erros

• Não usar em edge quando possível

• Comparar bundle size com Prisma Client

• Não entender SQL (Drizzle é thin)

• Migrations não trackadas

• Não aproveitar type-safety

Checklist

  • Drizzle instalado
  • Schema definido
  • Client criado
  • Queries type-safe
  • Migrations configuradas
  • Edge deployment testado