-
Notifications
You must be signed in to change notification settings - Fork 0
/
initDB.js
26 lines (23 loc) · 1.04 KB
/
initDB.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
* This file contains a simple script to populate the database with initial
* data from the files in the data/ directory.
*/
const sequelize = require('./lib/sequelize');
const { Assignment, AssignmentClientFields } = require('./models/assignment');
const { Course, CourseClientFields } = require('./models/course');
const { Submission, SubmissionClientFields } = require('./models/submission');
const { User, UserClientFields } = require('./models/user');
const assignmentData = require('./data/assignments.json');
const courseData = require('./data/courses.json');
const submissionData = require('./data/submissions.json');
const userData = require('./data/users.json');
sequelize.sync().then(async function () {
await User.bulkCreate(userData, { fields: UserClientFields });
await Course.bulkCreate(courseData, { fields: CourseClientFields });
await Assignment.bulkCreate(assignmentData, {
fields: AssignmentClientFields,
});
await Submission.bulkCreate(submissionData, {
fields: SubmissionClientFields,
});
});