Drizzle MySQL Starter
The Drizzle MySQL Starter is a database foundation provided by servercn for projects that use MySQL with Drizzle ORM.
Installation Guide
npx servercn-cli init drizzle-mysql-starterWhat This Starter Solves
Setting up Drizzle with MySQL repeatedly involves:
- Database connection management
- Schema organization
- Migration configuration
- Environment‑based credentials
- Type safety across queries
The Drizzle MySQL Starter standardizes these concerns using a minimal, explicit setup.
What You Get Out of the Box
After initialization, your project includes:
Database Core
- Drizzle ORM configured for MySQL
- Type‑safe schema definitions
- Centralized database client
Configuration
- Environment‑based database config
- Safe startup validation
- Production‑ready connection handling
Migrations
- Drizzle migration setup
- Structured migration folder
- CLI‑ready workflow
Developer Experience
- Fully typed queries
- Clean schema organization
- Zero runtime magic
Environment Configuration
Database credentials are loaded via environment variables.
The server fails fast if required database variables are missing.
Defining Schemas
Schemas are written using Drizzle’s SQL‑first, type‑safe API.
src/drizzle/schemas/user.schema.ts
Schemas are:
- Explicit
- Version‑controlled
- Fully typed across queries
Database Client Setup
src/configs/db.ts or src/db/db.ts
No repositories or hidden layers — you interact directly with Drizzle.
Migrations Workflow
Generate migrations
npm run db:generateApply migrations
npm run db:migrateMigrations are SQL‑first and fully auditable.
Database Studio
npm run db:studioProduction Considerations
The starter is designed for production:
- No dynamic schema generation at runtime
- Controlled migration execution
- Environment‑safe credentials
- Predictable connection behavior
Integration with Express Starter Foundation
The Drizzle MySQL Starter is designed to layer cleanly on top of:
- Express Starter Foundation
- Request validation (Zod)
This keeps responsibilities separated:
- Express handles HTTP
- Drizzle handles data
Summary
The Drizzle MySQL Starter gives you a clean, production‑ready database foundation using MySQL + Drizzle ORM.
It prioritizes clarity, type safety, and long‑term maintainability — without taking control away from you.