@nestjs-dash/db-seeder-typeorm
v0.2.2
Published
TypeORM adapter for @nestjs-dash/db-seeder (transactional seeding via dataSource.transaction())
Readme
@nestjs-dash/db-seeder-typeorm
TypeORM adapter for @nestjs-dash/db-seeder: transactional seeding via dataSource.transaction(), with onRowError: 'skip' support via raw SAVEPOINT/ROLLBACK TO/RELEASE.
Install
pnpm add @nestjs-dash/db-seeder @nestjs-dash/db-seeder-typeorm typeormUsage
import { createAdapter, resolveTarget } from '@nestjs-dash/db-seeder-typeorm';
import { normalize, runSeeding } from '@nestjs-dash/db-seeder';
const adapter = createAdapter(dataSource);
const target = resolveTarget(AuthorEntity, dataSource); // reads column metadata off a decorated entity class
const rows = await normalize({ format: 'json', data: [{ name: 'Ada Lovelace' }] }, target);
await runSeeding(adapter, target, rows);Inserts go through a raw table-name query (manager.createQueryBuilder().insert().into(target.name, columns)), not a repository bound to an entity class, so the same code path works whether target came from resolveTarget() or a plain column mapping you write yourself.
License
MIT
