-
Notifications
You must be signed in to change notification settings - Fork 132
Open
Description
I have the following factories:
question.factory.ts
import Faker from '@faker-js/faker';
import { define, factory } from 'typeorm-seeding';
import { Answer } from '../../entities/answer.entity';
import { Question } from '../../entities/question.entity';
define(Question, (faker: typeof Faker) => {
const question = new Question();
question.question = faker.lorem.sentence() + '?';
question.answers = factory(Answer)().makeMany(5) as any;
question.private = faker.random.boolean();
return question;
});
answer.factory.ts
import Faker from '@faker-js/faker';
import { define, factory } from 'typeorm-seeding';
import { Answer } from '../../entities/answer.entity';
import { User } from '../../entities/user.entity';
define(Answer, (faker: typeof Faker) => {
const answer = new Answer();
answer.answerer = factory(User)() as any;
answer.answer = faker.lorem.sentence();
return answer;
});
user.factory.ts
import Faker from '@faker-js/faker';
import { define } from 'typeorm-seeding';
import { User } from '../../entities/user.entity';
define(User, (faker: typeof Faker) => {
const user = new User();
const firstName = faker.name.firstName();
const lastName = faker.name.lastName();
user.name = `${firstName} ${lastName}`;
return user;
});
And also I have a seed:
import { Factory, Seeder } from 'typeorm-seeding';
import { Connection } from 'typeorm';
import { Question } from '../../entities/question.entity';
export default class InitialDatabaseSeed implements Seeder {
public async run(factory: Factory, connection: Connection): Promise<void> {
const questions = await factory(Question)().createMany(15);
console.log({ questions });
}
}
When I run this, only the Questions records are stored, the Answers and User are ignored.
How can I persist them?
Metadata
Metadata
Assignees
Labels
No labels