function DatabasePlugin
Since 0.1.0
DatabasePlugin(options?: DatabasePluginOptions): IPlugin

Creates the DatabasePlugin.

The plugin registers an IDatabaseService under the CAPABILITIES.DATABASE token (or database.<name> when a custom name is provided for multi-database setups).

Examples

Example 1

import { DatabasePlugin } from '@setu-ts/database-plugin';

// Memory adapter (default, zero deps)
app.register(DatabasePlugin());

// Prisma adapter with an application-generated Prisma v7 client. A v7 client
// needs a driver adapter:
//   new PrismaClient({ adapter: new PrismaPg({ connectionString }) })
app.register(DatabasePlugin({
  type: 'prisma',
  options: {
    prismaClient,
    logQueries: true,
  },
}));

// Named connection for multi-database
app.register(DatabasePlugin({
  type: 'prisma',
  name: 'analytics',
  options: { prismaClient: analyticsPrismaClient },
}));

Parameters

optional
options: DatabasePluginOptions

Plugin configuration

Return Type

IPlugin

The plugin instance

Usage

import { DatabasePlugin } from "database-plugin/src/index.ts";