@nestjs-dash/db-seeder-drizzle
v0.2.2
Published
Drizzle ORM adapter for @nestjs-dash/db-seeder (transactional seeding via db.transaction())
Readme
@nestjs-dash/db-seeder-drizzle
Drizzle ORM adapter for @nestjs-dash/db-seeder: transactional seeding via db.transaction(), with onRowError: 'skip' support via Drizzle's own nested tx.transaction() — which compiles to a real SAVEPOINT on Postgres/MySQL/SQLite, no raw SQL needed.
Install
pnpm add @nestjs-dash/db-seeder @nestjs-dash/db-seeder-drizzle drizzle-ormUsage
import { createAdapter, resolveTarget } from '@nestjs-dash/db-seeder-drizzle';
import { normalize, runSeeding } from '@nestjs-dash/db-seeder';
import { authors } from './schema.js';
const adapter = createAdapter(db);
const target = resolveTarget(authors); // reads getTableColumns()/getTableName() off a real table object
const rows = await normalize({ format: 'json', data: [{ name: 'Ada Lovelace' }] }, target);
await runSeeding(adapter, target, rows);Inserts are built as a single parameterized multi-row INSERT via sql.identifier/sql.join, so they work against any table name/shape — not just ones Drizzle's typed query builder knows about.
License
MIT
