prisma-driver-adapter-implementation

Implements Prisma ORM 7 SQL driver adapters with transaction, savepoint, and error-mapping contracts.

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/soumeningit/FlowBoard --skill prisma-driver-adapter-implementation-soumeningit
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: prisma-driver-adapter-implementation
Source: https://github.com/soumeningit/FlowBoard/tree/main/packages/database/.windsurf/skills/prisma-driver-adapter-implementation
Command: npx skills add https://github.com/soumeningit/FlowBoard --skill prisma-driver-adapter-implementation-soumeningit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @prisma/driver-adapter-utils.

What problem does it solve? Building a Prisma SQL driver adapter is error-prone: type-compatible code can still corrupt values, leak connections, break transactions, or lose original database error details. This Skill provides the exact contract, priority rules, and verification checklist needed to implement adapters that behave correctly under Prisma ORM 7. ## Core Features & Use Cases - Adapter Contract Implementation: Guides implementation of SqlDriverAdapterFactory, SqlDriverAdapter, Transaction, and migration-aware shadow database factories. - Transaction & Savepoint Protocol: Enforces one dedicated connection per transaction, lifecycle-only commit/rollback hooks, and connection-local savepoint handling. - Error & Result Mapping: Preserves original database error codes for useful P2039 fallbacks and maps column types, arguments, and result metadata without silent corruption. - Use Case: When adding a new database driver to Prisma or debugging transaction leaks and P2039 errors in an existing adapter, follow this guide to implement and verify the adapter against the exact @prisma/driver-adapter-utils version. ## Quick Start Ask the AI to implement a Prisma SQL driver adapter for your database driver following the transaction, savepoint, and error-mapping rules in this guide.

Frequently Asked Questions about prisma-driver-adapter-implementation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement a Prisma driver adapter for a new database?▼

Implement SqlDriverAdapterFactory with a connect method returning a SqlDriverAdapter that provides queryRaw, executeRaw, executeScript, startTransaction, and dispose. Match the exact @prisma/driver-adapter-utils version of your target Prisma release and follow the transaction and error-mapping contract.

How do Prisma driver adapter transactions and savepoints work?▼

startTransaction acquires one dedicated connection, begins the transaction, and applies the isolation level. commit and rollback are lifecycle cleanup hooks that release the connection once, while optional createSavepoint, rollbackToSavepoint, and releaseSavepoint methods handle nested transactions on that connection.

Why does Prisma throw P2039 with my custom driver adapter?▼

P2039 surfaces when an unmapped driver error reaches Prisma. Preserve originalCode and originalMessage in your DriverAdapterError conversion so the fallback contains useful details, and map known conditions like unique violations to structured MappedError kinds.

Does the Prisma adapter commit method issue SQL COMMIT?▼

No. Prisma coordinates SQL COMMIT and ROLLBACK through executeRaw. The transaction object's commit and rollback methods are lifecycle hooks that detach listeners and release the dedicated connection exactly once, never issuing duplicate SQL.

What are common mistakes when building a Prisma driver adapter?▼

Common mistakes include sharing connections across concurrent transactions, tracking savepoint depth globally on the adapter, splitting migration scripts naively on semicolons, truncating 64-bit integers, and disposing caller-owned pools. The verification checklist covers each of these cases.