The data seeding now only get's triggered on the first time thx to using the key-value
Some checks failed
continuous-integration/drone/pr Build is failing

ref #110
This commit is contained in:
Nicolai Ort 2021-01-20 18:02:08 +01:00
parent c18012f65a
commit 7bc603028d

View File

@ -1,7 +1,8 @@
import { createConnection } from "typeorm"; import { createConnection } from "typeorm";
import { runSeeder } from 'typeorm-seeding'; import { runSeeder } from 'typeorm-seeding';
import { config } from '../config'; 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 SeedTestRunners from '../seeds/SeedTestRunners';
import SeedUsers from '../seeds/SeedUsers'; import SeedUsers from '../seeds/SeedUsers';
/** /**
@ -11,11 +12,20 @@ import SeedUsers from '../seeds/SeedUsers';
export default async () => { export default async () => {
const connection = await createConnection(); const connection = await createConnection();
await connection.synchronize(); 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 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 runSeeder(SeedTestRunners);
await connection.getRepository(ConfigFlag).save({ option: "seeded:testdata", value: "true" });
} }
return connection; return connection;
}; };