{"id":48955,"library":"prisma-generator-drizzle","title":"Prisma Generator Drizzle","description":"A Prisma generator that creates a Drizzle ORM schema from your Prisma schema, enabling migration from Prisma to Drizzle or using both together. Version 0.7.6 targets Node >=14.0 and generates tables, enums, constraints, and relational query support. It aims for 1:1 compatibility with Prisma's field mapping, ignoring @db.* modifiers. The generator is experimental but production-safe, with ongoing development toward v1. Differentiators include support for Drizzle-specific features like $type<> and custom default functions, as well as integration with drizzle-kit.","status":"active","version":"0.7.6","language":"javascript","source_language":"en","source_url":"https://github.com/fdarian/prisma-generator-drizzle","tags":["javascript","prisma","drizzle","generator"],"install":[{"cmd":"npm install prisma-generator-drizzle","lang":"bash","label":"npm"},{"cmd":"yarn add prisma-generator-drizzle","lang":"bash","label":"yarn"},{"cmd":"pnpm add prisma-generator-drizzle","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Generated schema depends on drizzle-orm for table definitions and relational query","package":"drizzle-orm","optional":false},{"reason":"Used internally to interact with Prisma's generation pipeline","package":"@prisma/generator-helper","optional":false}],"imports":[{"note":"Generated output exports multiple tables and relations as named exports, so use wildcard import or named imports","wrong":"import schema from './drizzle/schema'","symbol":"default (generated schema)","correct":"import * as schema from './drizzle/schema'"},{"note":"Generated schema is ESM; CJS require works in Node but may break with bundlers","wrong":"const { users } = require('./drizzle/schema')","symbol":"users (example table)","correct":"import { users } from './drizzle/schema'"},{"note":"The correct import depends on the database driver: node-postgres, mysql2, better-sqlite3, etc.","wrong":"import { drizzle } from 'drizzle-orm'","symbol":"drizzle (from drizzle-orm)","correct":"import { drizzle } from 'drizzle-orm/node-postgres'"},{"note":"Relation objects are named as <table>Relations; import them individually","wrong":"import { relations } from './drizzle/schema'","symbol":"relations","correct":"import { usersRelations } from './drizzle/schema'"}],"quickstart":{"code":"// 1. Install dependencies\n// npm install -D prisma-generator-drizzle\n// npm install drizzle-orm @prisma/client\n\n// 2. Add to Prisma schema (schema.prisma):\n// generator drizzle {\n//   provider = \"prisma-generator-drizzle\"\n//   output   = \"./drizzle\"\n// }\n\n// 3. Run: prisma generate\n\n// 4. Use the generated schema with Drizzle\nimport { drizzle } from 'drizzle-orm/node-postgres';\nimport { Pool } from 'pg';\nimport * as schema from './drizzle/schema';\n\nconst pool = new Pool({\n  connectionString: process.env.DATABASE_URL ?? 'postgres://localhost:5432/mydb'\n});\nconst db = drizzle(pool, { schema });\n\n// Example query using relational query\nconst result = await db.query.users.findMany({\n  with: {\n    posts: true\n  }\n});\n\nconsole.log(result);","lang":"typescript","description":"Shows setup: install generator and drizzle-orm, configure Prisma schema, generate, then use the generated schema with drizzle-orm and relational query."},"warnings":[{"fix":"Manually adjust the generated Drizzle schema or use only default scalar types","message":"The generator ignores @db.* modifiers, meaning custom database type annotations in Prisma schema are not reflected in the generated Drizzle schema.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Update Node.js to version 14 or higher","message":"The generator only works with Node >=14.0; using older Node versions will cause runtime errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Do not use dateMode with SQLite databases","message":"The dateMode option for sqLite is not supported; setting it will have no effect.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Manually specify moduleResolution in the generator config or ensure tsconfig doesn't use extends","message":"The generator does not support tsconfig extends; it reads the closest tsconfig.json without resolving inheritance.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Set relationalQuery = false in the generator configuration if you do not want relational query support","message":"In version 0.7.0, the relationalQuery option was introduced and defaults to true. If you rely on the previous default (no relational query), you need to explicitly set it to false.","severity":"breaking","affected_versions":">=0.7.0"}],"env_vars":null,"search_vec":"'0.7.6':28 '1':44,45 '14.0':31 'aim':42 'compat':46 'constraint':36 'creat':8 'custom':79 'db':53 'default':80 'develop':65 'differenti':68 'drizzl':3,10,22,73,88,92 'drizzle-kit':87 'drizzle-specif':72 'enabl':17 'enum':35 'experiment':58 'featur':75 'field':50 'function':81 'generat':2,6,33,56,93 'ignor':52 'includ':69 'integr':85 'javascript':90 'kit':89 'like':76 'map':51 'migrat':18 'modifi':54 'node':30 'ongo':64 'orm':11 'prisma':1,5,15,20,48,91 'product':61 'production-saf':60 'queri':39 'relat':38 'safe':62 'schema':12,16 'specif':74 'support':40,70 'tabl':34 'target':29 'togeth':26 'toward':66 'type':77 'use':24 'v1':67 'version':27 'well':83","created_at":"2026-06-07T16:59:19.082936+00:00","updated_at":"2026-06-07T16:59:19.082936+00:00","problems":[{"fix":"Run 'npm install drizzle-orm'","cause":"Missing drizzle-orm dependency in the project","error":"Error: Cannot find module 'drizzle-orm'"},{"fix":"Add 'generator drizzle { provider = \"prisma-generator-drizzle\" }' to your Prisma schema","cause":"The generator block is missing or not correctly spelled","error":"Error: Generator 'drizzle' must be defined in schema.prisma"},{"fix":"Use only default Prisma scalar types (String, Int, Float, Boolean, DateTime, Json, Bytes) or resolve manually","cause":"Using a custom scalar type not supported by the generator","error":"Error: Failed to generate schema: Unsupported scalar type 'XYZ'"},{"fix":"Use ESM imports (import ... from) or configure a bundler/transpiler like TypeScript with esModuleInterop","cause":"The generated files use ESM imports and the consuming code uses CommonJS require without transpilation","error":"Error: Unexpected token '.' (or similar) when importing generated files"}],"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/fdarian/prisma-generator-drizzle#readme","github":"https://github.com/fdarian/prisma-generator-drizzle","docs":null,"changelog":null,"pypi":null,"npm":"prisma-generator-drizzle","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-07","next_check":"2026-09-05","install_tag":null}}