From 011ae4b46756a90cd1ec52de822d3f1a84b58ba5 Mon Sep 17 00:00:00 2001 From: pincman Date: Thu, 9 May 2024 02:37:11 +0800 Subject: [PATCH] init --- apps/api/src/config/database.config.ts | 6 ++++++ apps/api/src/database/seeders/DatabaseSeeder.ts | 10 ++++++++++ apps/api/src/database/seeders/PostSeeder.ts | 6 ++++++ 3 files changed, 22 insertions(+) create mode 100644 apps/api/src/database/seeders/DatabaseSeeder.ts create mode 100644 apps/api/src/database/seeders/PostSeeder.ts diff --git a/apps/api/src/config/database.config.ts b/apps/api/src/config/database.config.ts index da0df4b..a4b0230 100644 --- a/apps/api/src/config/database.config.ts +++ b/apps/api/src/config/database.config.ts @@ -1,6 +1,8 @@ import { Migrator } from '@mikro-orm/migrations'; import { defineConfig, Utils } from '@mikro-orm/postgresql'; +import { SeedManager } from '@mikro-orm/seeder'; + import { moduleImports } from '@/module.list'; import { getEntities } from '@/modules/database/helpers'; @@ -16,5 +18,9 @@ export const database = () => tableName: 'migrations', path: Utils.detectTsNode() ? 'src/database/migrations' : 'dist/database/migrations', }, + seeder: { + path: Utils.detectTsNode() ? 'src/database/seeders' : 'dist/database/seeders', + defaultSeeder: 'DatabaseSeeder', + }, }); export default database(); diff --git a/apps/api/src/database/seeders/DatabaseSeeder.ts b/apps/api/src/database/seeders/DatabaseSeeder.ts new file mode 100644 index 0000000..7c42c78 --- /dev/null +++ b/apps/api/src/database/seeders/DatabaseSeeder.ts @@ -0,0 +1,10 @@ +import type { EntityManager } from '@mikro-orm/core'; +import { Seeder } from '@mikro-orm/seeder'; + +import { PostSeeder } from './PostSeeder'; + +export class DatabaseSeeder extends Seeder { + async run(em: EntityManager): Promise { + return this.call(em, [PostSeeder]); + } +} diff --git a/apps/api/src/database/seeders/PostSeeder.ts b/apps/api/src/database/seeders/PostSeeder.ts new file mode 100644 index 0000000..2f72a56 --- /dev/null +++ b/apps/api/src/database/seeders/PostSeeder.ts @@ -0,0 +1,6 @@ +import type { EntityManager } from '@mikro-orm/core'; +import { Seeder } from '@mikro-orm/seeder'; + +export class PostSeeder extends Seeder { + async run(em: EntityManager): Promise {} +}