Drizzle Schema Builder
Design your database tables visually and get instant Drizzle ORM TypeScript schema code plus equivalent CREATE TABLE SQL. Select PostgreSQL or MySQL, add columns, set constraints — then copy.
Related Products
on GumroadDeveloper Productivity Bundle
Stop rebuilding the same setup every project. 51 VSCode snippets, 40 Git aliases, 5 Docker Compose stacks, 5 GitHub Actions workflows, 5 README templates, and a dotfiles kit. Set up a professional dev environment in under an hour.
Buy on Gumroad →AI Prompt Engineering Toolkit
58 structured prompt templates for Claude, ChatGPT, and Gemini — organized by use case. Code Review, Debugging, Documentation, Architecture, and 10 model-specific tips. Stop writing prompts from scratch.
Buy on Gumroad →Developer Cheat Sheet Bundle
10 print-ready cheat sheets for the tools developers use every day: Git, Docker, Linux CLI, SQL, Regex, HTTP Status codes, VS Code shortcuts, Bash scripting, jq/JSON, and Markdown.
Buy on Gumroad →You Might Also Need
JSON Formatter & Validator
Format, beautify, and validate JSON online. Paste your JSON to instantly pretty-print it with 2-space, 4-space, or tab indentation. Minify JSON too. Free, runs in your browser.
Open free tool →
Regex Tester
Free regex tester. Test regular expressions against multiple strings with expected match/no-match assertions — see instant pass/fail results. Built-in presets for email, URL, IPv4, and phone. Pro: unl
Open free tool →
Base64 Encoder & Decoder
Free Base64 Encoder & Decoder. Convert text, images, and any file to Base64 and back. Supports URL-safe Base64, image data URIs, and file download from Base64. Runs 100% in your browser — no data sent
Open free tool →
More Free Tools
Related Articles
curl 深度使用手冊:API 測試從入門到進階
curl 是每位開發者必備的 CLI 工具。本文涵蓋 GET/POST/PUT/DELETE 請求、認證、header 設定、檔案上傳、除錯技巧,以及 REST API 測試的完整實戰範例。
Best AI Code Review Tools 2026: CodeRabbit, Sourcery, DeepCode & Bito Compared
Compare top AI code review tools for 2026: CodeRabbit, Sourcery, DeepCode, and Bito. Features, pricing, GitHub/GitLab integration, and choosing the right tool for your team.
AI Code Review Tools 2026: GitHub Copilot, CodeRabbit, Qodo Merge Ranked
Compare AI code review tools for 2026: GitHub Copilot code review, CodeRabbit, Qodo Merge, Sourcery, and PR-Agent. Pricing, accuracy, and GitHub integration.
AI Coding Tools Comparison 2026: GitHub Copilot vs Cursor vs Windsurf vs Cline
Comprehensive comparison of the best AI coding tools in 2026: GitHub Copilot, Cursor, Windsurf, and Cline. Pricing, features, model support, and real-world benchmarks.
AI Pair Programming in 2026: GitHub Copilot vs Cursor vs Claude Code
Master AI pair programming in 2026. Compare GitHub Copilot, Cursor, and Claude Code for autocomplete, chat, and agentic workflows. Includes setup guides and productivity tips.
Enjoying this tool? Get more like it.
Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.
Unlock AI-Powered Dev Tools
- ⚡ AI Code Review, Doc Generator & SQL Builder
- ⚡ All premium templates & early access
- ⚡ Member discounts on Gumroad products
$9/mo after trial · Cancel anytime
Want the full toolkit?
Get DevPlaybook Pro
Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.
MIT licensed · Instant download · No subscription
See what's included → Browse all deals →Frequently Asked Questions
What is Drizzle ORM?▼
Drizzle ORM is a TypeScript-first SQL ORM that gives you full type safety without code generation. You define your schema in TypeScript using the Drizzle schema API, and it infers types automatically. It supports PostgreSQL, MySQL, and SQLite, with a query builder that closely mirrors SQL syntax.
What is the difference between pgTable and mysqlTable?▼
pgTable is for PostgreSQL and uses Postgres-specific types like serial, uuid, jsonb, and timestamptz. mysqlTable is for MySQL/MariaDB and uses MySQL types like int auto_increment, varchar, and datetime. The column APIs are similar but types differ based on what each database natively supports.
How does Drizzle handle primary keys?▼
You can mark any column as a primary key using .primaryKey() in Drizzle. For auto-incrementing integers, use serial('id').primaryKey() in PostgreSQL. For UUIDs, use uuid('id').defaultRandom().primaryKey(). Composite primary keys are defined using the primaryKey() function outside column definitions in the table's third argument.
What does .notNull() do in Drizzle?▼
By default, Drizzle columns are nullable (they accept NULL values). Adding .notNull() makes the column NOT NULL in the database, and changes the TypeScript type from 'string | null' to 'string'. This mirrors the SQL NOT NULL constraint and ensures data integrity at both the database and TypeScript levels.
How do I run Drizzle migrations?▼
Generate SQL migration files with 'drizzle-kit generate'. Then apply them with 'drizzle-kit migrate' (for postgres-js, mysql2, etc.) or 'db.push()' in development for quick schema sync. In production, always use migration files. Use drizzle-kit studio for a visual database browser.
What is the $inferSelect and $inferInsert pattern?▼
Drizzle tables export $inferSelect and $inferInsert TypeScript types. $inferSelect infers the shape of rows returned by SELECT queries (all columns). $inferInsert infers the shape for INSERT operations, respecting optional fields with defaults. Use these as: type User = typeof users.$inferSelect.