{"id":43378,"library":"mysql-zod","title":"mysql-zod","description":"CLI and library to generate Zod schemas (v2.2.0) from a MySQL database by introspecting table schemas. Supports configurable output including camelCase conversion, nullish vs nullable, and required string validation. Differentiators include simple JSON config, table filtering, and direct API usage. Actively maintained by a single developer, release cadence is irregular.","status":"active","version":"2.2.0","language":"javascript","source_language":"en","source_url":"git@github.com:erwinstone/mysql-zod","tags":["javascript","typescript"],"install":[{"cmd":"npm install mysql-zod","lang":"bash","label":"npm"},{"cmd":"yarn add mysql-zod","lang":"bash","label":"yarn"},{"cmd":"pnpm add mysql-zod","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for type generation","package":"zod","optional":false},{"reason":"runtime dependency for connecting to MySQL","package":"mysql2","optional":false}],"imports":[{"note":"Named export, not default. Works in ESM and CJS.","wrong":"import generate from 'mysql-zod'","symbol":"generate","correct":"import { generate } from 'mysql-zod'"},{"note":"Generated files import default Zod. Ensure zod is installed.","wrong":"","symbol":"default (zod)","correct":"import z from 'zod'"},{"note":"Output path depends on config 'folder' and 'suffix'.","wrong":"import { user } from '@zod/user'","symbol":"user (generated)","correct":"import { user } from './user'"}],"quickstart":{"code":"// 1. Install as dev dependency\n// npm install mysql-zod --save-dev\n\n// 2. Create mysql-zod.json in project root\n{\n  \"host\": \"127.0.0.1\",\n  \"port\": 3306,\n  \"user\": \"root\",\n  \"password\": \"secret\",\n  \"database\": \"myapp\"\n}\n\n// 3. Create SQL table and run CLI\n// npx mysql-zod\n\n// Or use programmatically in a script\nimport { generate } from 'mysql-zod'\n\nawait generate({\n  host: process.env.DB_HOST ?? '127.0.0.1',\n  port: parseInt(process.env.DB_PORT ?? '3306'),\n  user: process.env.DB_USER ?? 'root',\n  password: process.env.DB_PASSWORD ?? '',\n  database: process.env.DB_NAME ?? 'myapp',\n})","lang":"typescript","description":"Shows both JSON config and programmatic usage to generate Zod schemas from MySQL tables."},"warnings":[{"fix":"Create directory beforehand or remove 'folder' to use default './'.","message":"If using 'folder' config, ensure the directory exists or has write permissions.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Backup previous generated files or use a different output folder.","message":"The CLI will overwrite existing files for the same table without warning.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Update zod to latest. Minimum zod peer dependency is 3.x.","message":"Enum columns become zod enums; ensure zod version supports .enum().","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Use 'nullish' instead to generate .nullish() schemas.","message":"Config option 'nullable' is deprecated in favor of 'nullish' (boolean).","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"search_vec":"'activ':44 'api':42 'cadenc':51 'camelcas':24 'cli':4 'config':37 'configur':21 'convers':25 'databas':15 'develop':49 'differenti':33 'direct':41 'filter':39 'generat':8 'includ':23,34 'introspect':17 'irregular':53 'javascript':54 'json':36 'librari':6 'maintain':45 'mysql':2,14 'mysql-zod':1 'nullabl':28 'nullish':26 'output':22 'releas':50 'requir':30 'schema':10,19 'simpl':35 'singl':48 'string':31 'support':20 'tabl':18,38 'typescript':55 'usag':43 'v2.2.0':11 'valid':32 'vs':27 'zod':3,9","created_at":"2026-06-05T16:59:30.531939+00:00","updated_at":"2026-06-05T16:59:30.531939+00:00","problems":[{"fix":"Install zod: npm install zod","cause":"Missing zod dependency in project","error":"Cannot find module 'zod'"},{"fix":"Start MySQL server or update connection config in mysql-zod.json","cause":"MySQL server not running or wrong host/port","error":"ECONNREFUSED 127.0.0.1:3306"},{"fix":"Check 'user' and 'password' in mysql-zod.json","cause":"Invalid MySQL credentials","error":"ER_ACCESS_DENIED_ERROR: Access denied for user"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"git@github.com:erwinstone/mysql-zod","github":"git@github.com:erwinstone/mysql-zod","docs":null,"changelog":null,"pypi":null,"npm":"mysql-zod","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}