{"id":42647,"library":"drizzle-mermaid-generator","title":"Drizzle Mermaid Generator","description":"Converts Drizzle ORM schema definitions into Mermaid ER diagram markup. Supports PostgreSQL (pgGenerate), MySQL (mysqlGenerate), and SQLite (sqliteGenerate) dialects. Current version: 0.0.5 (early stage, monthly releases). Differentiator: native Drizzle integration with automatic constraint, foreign key, and relationship detection from Drizzle schema files, including support for relational links via Drizzle's relations() API.","status":"active","version":"0.0.5","language":"javascript","source_language":"en","source_url":"https://github.com/panudetjt/drizzle-mermaid-generator","tags":["javascript","drizzle-orm","er-diagram","mermaid","typescript"],"install":[{"cmd":"npm install drizzle-mermaid-generator","lang":"bash","label":"npm"},{"cmd":"yarn add drizzle-mermaid-generator","lang":"bash","label":"yarn"},{"cmd":"pnpm add drizzle-mermaid-generator","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for schema definition types","package":"drizzle-orm","optional":false}],"imports":[{"note":"Named export, not default.","wrong":"import pgGenerate from 'drizzle-mermaid-generator'","symbol":"pgGenerate","correct":"import { pgGenerate } from 'drizzle-mermaid-generator'"},{"note":"Package is ESM-only; named import required.","wrong":"const mysqlGenerate = require('drizzle-mermaid-generator')","symbol":"mysqlGenerate","correct":"import { mysqlGenerate } from 'drizzle-mermaid-generator'"},{"note":"Named export for SQLite dialect.","wrong":"","symbol":"sqliteGenerate","correct":"import { sqliteGenerate } from 'drizzle-mermaid-generator'"}],"quickstart":{"code":"import { pgGenerate } from 'drizzle-mermaid-generator';\nimport * as schema from './schema';\n\n// Generate Mermaid ER diagram string\nconst mermaid = pgGenerate({ schema });\nconsole.log(mermaid);\n\n// Generate with relationships and write to file\npgGenerate({\n  schema,\n  out: './diagrams/schema.mermaid',\n  relational: true\n});","lang":"typescript","description":"Generate Mermaid ER diagram from a Drizzle ORM schema using PostgreSQL dialect."},"warnings":[{"fix":"Use `import * as schema from './path/to/schema'` instead of named imports like `import { users } from './schema'`.","message":"Schema must be imported using import * as schema from './schema' pattern; imported namespace object is required, not individual table exports.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Run via `npx tsx node_modules/.bin/drizzle-mermaid-generator ...` or pre-compile schema imports.","message":"CLI --schema option expects a TypeScript file path; it will not resolve ESM module imports automatically. Use with a bundler (e.g., tsx) or transpile first.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Ensure drizzle-orm version is >= 0.45.1.","message":"Requires drizzle-orm >= 0.45.1; older versions may cause type errors due to changes in Drizzle schema types.","severity":"breaking","affected_versions":">=0.0.1"}],"env_vars":null,"search_vec":"'0.0.5':25 'api':55 'automat':35 'constraint':36 'convert':4 'current':23 'definit':8 'detect':41 'diagram':12,62 'dialect':22 'differenti':30 'drizzl':1,5,32,43,52,58 'drizzle-orm':57 'earli':26 'er':11,61 'er-diagram':60 'file':45 'foreign':37 'generat':3 'includ':46 'integr':33 'javascript':56 'key':38 'link':50 'markup':13 'mermaid':2,10,63 'month':28 'mysql':17 'mysqlgener':18 'nativ':31 'orm':6,59 'pggener':16 'postgresql':15 'relat':49,54 'relationship':40 'releas':29 'schema':7,44 'sqlite':20 'sqlitegener':21 'stage':27 'support':14,47 'typescript':64 'version':24 'via':51","created_at":"2026-06-05T16:56:00.281012+00:00","updated_at":"2026-06-05T16:56:00.281012+00:00","problems":[{"fix":"Use `import * as schema from './schema'` to import all tables as a single namespace object.","cause":"Schema namespace not provided as an object with all tables; likely used named imports instead of import * as schema.","error":"TypeError: Cannot read properties of undefined (reading 'tables')"},{"fix":"Use `-d pg`, `-d mysql`, or `-d sqlite`.","cause":"CLI --dialect flag has an invalid or unsupported value.","error":"Error: Unsupported dialect. Supported: pg, mysql, sqlite"},{"fix":"Install drizzle-orm >= 0.45.1: `npm install drizzle-orm@latest`.","cause":"Missing or incompatible drizzle-orm peer dependency.","error":"Module not found: Can't resolve 'drizzle-orm'"}],"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":"https://github.com/panudetjt/drizzle-mermaid-generator#readme","github":"https://github.com/panudetjt/drizzle-mermaid-generator","docs":null,"changelog":null,"pypi":null,"npm":"drizzle-mermaid-generator","openapi_spec":null,"status_page":null,"smithery":null,"categories":["databases"],"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}}