MikroORM
Configuration
npm install @mikro-orm/cli \
@mikro-orm/entity-generator \
@mikro-orm/migrations \
@mikro-orm/core \
@mikro-orm/nestjs \
@mikro-orm/postgresql import { EntityGenerator } from '@mikro-orm/entity-generator';
import { Migrator } from '@mikro-orm/migrations';
import { defineConfig } from '@mikro-orm/postgresql';
import { SeedManager } from '@mikro-orm/seeder';
import dotenv from 'dotenv';
dotenv.config();
export default defineConfig({
// for automatic entity loading and discovery
// so that can create relationship between entites and set up database schema
entities: ['./dist/src/entities/*.js', './dist/src/**/*.entity.js'],
entitiesTs: ['./src/entities/*.ts', './src/**/*.entity.ts'],
dbName: process.env.DATABASE_NAME,
user: process.env.DATABASE_USER,
password: process.env.DATABASE_PASSWORD,
host: process.env.DATABASE_HOST,
port: process.env.DATABASE_PORT
? parseInt(process.env.DATABASE_PORT, 10)
: 5432,
seeder: {
path: './seeders', // path to the folder with seeders
pathTs: undefined, // path to the folder with TS seeders (if used, you should put path to compiled files in `path`)
defaultSeeder: 'DatabaseSeeder', // default seeder class name
glob: '!(*.d).{js,ts}', // how to match seeder files (all .js and .ts files, but not .d.ts)
emit: 'ts', // seeder generation mode
fileName: (className: string) => className, // seeder file naming convention
},
// Install the add-on
extensions: [EntityGenerator, Migrator, SeedManager],
// allowGlobalContext: true,
});NestJS Setting
Entity
Entity Manager
Repository
Transaction
Unit of Work
Migration
Seeding
Entity Generator
Schema-first vs Code-first
Last updated