From a7b02475752173f20c7198a3bbe53ee15e7fa881 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 24 Feb 2022 14:09:58 +0100 Subject: [PATCH] helper function to call seeds --- database/src/helpers.ts | 16 +++++++++++++++- database/src/index.ts | 27 +++++++++++---------------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/database/src/helpers.ts b/database/src/helpers.ts index 710094548..acd0e6ccd 100644 --- a/database/src/helpers.ts +++ b/database/src/helpers.ts @@ -1,5 +1,6 @@ import CONFIG from './config' import { createPool, PoolConfig } from 'mysql' +import { useSeeding, runSeeder } from 'typeorm-seeding' import { Migration } from 'ts-mysql-migrate' import path from 'path' @@ -31,4 +32,17 @@ const resetDB = async (closePool = false): Promise => { if (closePool) pool.end() } -export { resetDB, pool, migration, initialize } +/* eslint-disable-next-line @typescript-eslint/no-explicit-any */ +const runSeeds = async (seeds: any[]): Promise => { + if (seeds.length > 0) { + await useSeeding({ + root: process.cwd(), + configName: 'ormconfig.js', + }) + for (let i = 0; i < seeds.length; i++) { + await runSeeder(seeds[i]) + } + } +} + +export { resetDB, pool, migration, initialize, runSeeds } diff --git a/database/src/index.ts b/database/src/index.ts index 6e99ac582..40c5913e4 100644 --- a/database/src/index.ts +++ b/database/src/index.ts @@ -1,7 +1,6 @@ import 'reflect-metadata' import prepare from './prepare' import connection from './typeorm/connection' -import { useSeeding, runSeeder } from 'typeorm-seeding' import { CreatePeterLustigSeed } from './seeds/users/peter-lustig.admin.seed' import { CreateBibiBloxbergSeed } from './seeds/users/bibi-bloxberg.seed' import { CreateRaeuberHotzenplotzSeed } from './seeds/users/raeuber-hotzenplotz.seed' @@ -9,7 +8,7 @@ import { CreateBobBaumeisterSeed } from './seeds/users/bob-baumeister.seed' import { CreateStephenHawkingSeed } from './seeds/users/stephen-hawking.seed' import { CreateGarrickOllivanderSeed } from './seeds/users/garrick-ollivander.seed' import { CreateUserSeed } from './seeds/create-user.seed' -import { resetDB, pool, migration } from './helpers' +import { resetDB, pool, migration, runSeeds } from './helpers' const run = async (command: string) => { // Database actions not supported by our migration library @@ -37,20 +36,16 @@ const run = async (command: string) => { break case 'seed': // TODO protect from production - await useSeeding({ - root: process.cwd(), - configName: 'ormconfig.js', - }) - await runSeeder(CreatePeterLustigSeed) - await runSeeder(CreateBibiBloxbergSeed) - await runSeeder(CreateRaeuberHotzenplotzSeed) - await runSeeder(CreateBobBaumeisterSeed) - await runSeeder(CreateStephenHawkingSeed) - // eslint-disable-next-line prefer-spread - Array.apply(null, Array(96)).forEach(async () => { - await runSeeder(CreateUserSeed) - }) - await runSeeder(CreateGarrickOllivanderSeed) + // await runSeeder(CreatePeterLustigSeed) + await runSeeds([ + CreatePeterLustigSeed, + CreateBibiBloxbergSeed, + CreateRaeuberHotzenplotzSeed, + CreateBobBaumeisterSeed, + CreateStephenHawkingSeed, + CreateGarrickOllivanderSeed, + ...Array(96).fill(CreateUserSeed), + ]) break default: throw new Error(`Unsupported command ${command}`)