У меня 2 модели - Школа и Студент
Student.belongsTo(School);
School.hasMany(Student);
Из-за вышеупомянутой взаимосвязи у Студентов есть schoolId
Я пытаюсь использовать фейкер для массового посева в мои 'приложение'. Я могу использовать faker для генерации значений для свойств Student, кроме schoolId
. Если у меня 5 школ, я хочу рандомизировать schoolId на основе существующих школ. Как мне достичь sh этого?
const schools = [
{
name: 'Baruch College',
imageURL: 'test'
},
{
name: 'MIT',
imageURL: 'test'
},
{
name: 'Pace University',
imageURL: 'test'
},
{
name: 'Columbia University',
imageURL: 'test'
},
{
name: 'School of Visual Arts',
imageURL: 'test'
}
]
const students = async function(){
let list = [];
const schools = School.findAll(); // get all schools, but how do I get an array of id only?
for(i=0;i<20;i++){
list.push({
firstName: faker.name.firstName(),
lastName: faker.name.lastName(),
email: faker.internet.email(),
gpa: faker.random.number({
'min': 10,
'max': 50
}),
schoolId: // Math.random school
})
}
return list;
}
const seed = async () => {
await sync();
await Promise.all([schools, students()])
.then(response => {
response[0].map(school => School.create(school));
response[1].map(student => Student.create(student));
})
}