Registry / database / zod-mysql

zod-mysql

JSON →
library4.1.8jsnpmunverified

Generate Zod schemas and TypeScript types directly from a MySQL database schema. Version 4.1.8 provides a CLI and programmatic API to introspect tables and produce Zod objects, including auto-increment handling, nullable fields, enum support, and configurable output (camelCase, nullish, suffix, etc.). Replaces mysql-zod with different API and expanded options. Active development with monthly releases.

npm install zod-mysql
INSTALL
IMPORT
SIG · ZOD-MYSQL
Z
zod-mysql
databasejavascriptv4.1.8
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

generate
import { generate } from 'zod-mysql'
const generate = require('zod-mysql')
ESM-only; require() will fail.
generate (default)
import generate from 'zod-mysql'
import { default as generate } from 'zod-mysql'
No default export exists; always use named import.
Config type
import type { Config } from 'zod-mysql'
import { Config } from 'zod-mysql'
Config is a type only, not a runtime value.

Connects to MySQL, introspects specified tables, and generates Zod schemas and TypeScript types into files.

import { generate } from 'zod-mysql' await generate({ host: '127.0.0.1', port: 3306, user: 'root', password: process.env.DB_PASSWORD ?? 'secret', database: 'myapp', tables: ['user'], camelCase: true, silent: false, })
Debug
Known issues
breakingVersion 4.x changed the function signature; `generate` now accepts a single config object instead of multiple parameters.
fix
Migrate from `generate(host, user, ...)` to `generate({ host, user, ... })`.
affects: >=4.0.0
gotchaBy default, generated Zod schemas use `.nullable()` for nullable columns. If you want `nullish` behavior, set `nullish: true`.
fix
Add `nullish: true` to config options.
affects: >=1.0.0
gotchaThe `requiredString` option adds `.min(1)` to all string schemas, which may cause validation failures for empty strings in existing data.
fix
Ensure your database does not contain empty strings, or disable `requiredString`.
affects: >=1.0.0
deprecatedThe `@zod` comment in table columns is deprecated in favor of `zodCommentTypes` config option.
fix
Use `zodCommentTypes: true` in config instead of inline comments.
affects: >=4.0.0
Errors
Common errors & fixes
Error: Can't resolve 'zod-mysql'
Package not installed or not in dependencies.
fix
Run `npm install zod-mysql --save-dev`
TypeError: generate is not a function
Importing default instead of named export.
fix
Use `import { generate } from 'zod-mysql'`
Error: ER_ACCESS_DENIED_ERROR: Access denied for user
Invalid database credentials.
fix
Check host, port, user, and password in config.
Upgrade
Version history
4.1.8latest on npm
Audit
Dependencies
zodrequiredRuntime peer dependency for generated schemas
mysql2requiredDatabase connection driver
Agent activity
39 hits · last 30 days
node
34
OpenAI (training)
1
Resources
zod-mysql — npm install zod-mysql · libregistry