-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinitDb.js
33 lines (31 loc) · 1.17 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
27
28
29
30
31
32
33
/*
* This file contains a simple script to populate the database with initial
* data from the files in the data/ directory.
*/
require('dotenv').config()
const sequelize = require("./src/lib/sequelize")
const { User, UserClientFields } = require("./src/models/user.model")
const { Course, CourseClientFields } = require("./src/models/course.model")
const {
Assignment,
AssignmentClientFields
} = require("./src/models/assignment.model")
const {
Submission,
SubmissionClientFields
} = require("./src/models/submission.model")
const userData = require("./src/data/users.json")
const courseData = require("./src/data/courses.json")
const assignmentData = require("./src/data/assignments.json")
const submissionData = require("./src/data/submissions.json")
require("./src/models/associations")
sequelize.sync({ force: true }).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
})
})