Adapters
Adapters
Section titled “Adapters”The adapter layer isolates connection lifecycle, query execution, transactions, and health checks.
Native adapters
Section titled “Native adapters”import { connectionDB } from 'jsorm';import { pgAdapter } from 'jsorm-pg';import { mysqlAdapter } from 'jsorm-mysql';import { sqliteAdapter } from 'jsorm-sqlite';
const db = connectionDB({ databases: { main: pgAdapter({ name: 'main', connectionString: process.env.DATABASE_URL!, }), analytics: mysqlAdapter({ name: 'analytics', host: process.env.DB_HOST!, user: process.env.DB_USER!, password: process.env.DB_PASSWORD!, database: process.env.DB_NAME!, }), cache: sqliteAdapter({ name: 'cache', file: ':memory:', }), }, default: 'main',});Custom adapters
Section titled “Custom adapters”If your application already manages pools or transactions, inject your own adapter through the core contracts.
Best practices
Section titled “Best practices”- Reuse adapters instead of recreating them per request.
- Scope multi-database operations with
use()orwith(). - Keep custom adapters aligned with the official adapter metadata and validation shape.