From 7bc603028dc60d26ffc5327868afbce512966d4d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 20 Jan 2021 18:02:08 +0100 Subject: [PATCH] The data seeding now only get's triggered on the first time thx to using the key-value ref #110 --- src/loaders/database.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/loaders/database.ts b/src/loaders/database.ts index 09f71a6..0b4a16a 100644 --- a/src/loaders/database.ts +++ b/src/loaders/database.ts @@ -1,7 +1,8 @@ import { createConnection } from "typeorm"; import { runSeeder } from 'typeorm-seeding'; import { config } from '../config'; -import { User } from '../models/entities/User'; +import { ConfigFlag } from '../models/entities/ConfigFlags'; +import SeedPublicOrg from '../seeds/SeedPublicOrg'; import SeedTestRunners from '../seeds/SeedTestRunners'; import SeedUsers from '../seeds/SeedUsers'; /** @@ -11,11 +12,20 @@ import SeedUsers from '../seeds/SeedUsers'; export default async () => { const connection = await createConnection(); await connection.synchronize(); - if (await connection.getRepository(User).count() === 0) { + + //The data seeding part + if (!(await connection.getRepository(ConfigFlag).findOne({ option: "seeded:user", value: "true" }))) { await runSeeder(SeedUsers); + await connection.getRepository(ConfigFlag).save({ option: "seeded:user", value: "true" }); } - if (config.seedTestData) { + if (!(await connection.getRepository(ConfigFlag).findOne({ option: "seeded:citizenorg", value: "true" }))) { + await runSeeder(SeedPublicOrg); + await connection.getRepository(ConfigFlag).save({ option: "seeded:citizenorg", value: "true" }); + } + if (!(await connection.getRepository(ConfigFlag).findOne({ option: "seeded:testdata", value: "true" })) && config.seedTestData == true) { await runSeeder(SeedTestRunners); + await connection.getRepository(ConfigFlag).save({ option: "seeded:testdata", value: "true" }); } + return connection; }; \ No newline at end of file