Skip to content

Commit

Permalink
feat: modify seeder
Browse files Browse the repository at this point in the history
  • Loading branch information
JHIH-LEI committed Aug 12, 2021
1 parent c0ccd6d commit c6faa18
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 59 deletions.
1 change: 1 addition & 0 deletions config/mongoose.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require('dotenv').config()
const mongoose = require('mongoose')
const MONGODB_URI = process.env.MONGODB_URI
mongoose.connect(MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true })
Expand Down
70 changes: 41 additions & 29 deletions models/seeds/categorySeeder.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,46 @@
const db = require('../../config/mongoose')
const Category = require('../category')
const User = require('../user')

db.once('open', async () => {
db.once('open', () => {
console.log('categorySeeder is connect!')
const data = [
{
name: '家居物業',
icon: 'fas fa-home'
},
{
name: '交通出行',
icon: 'fas fa-shuttle-van'
},
{
name: '休閒娛樂',
icon: 'fas fa-grin-beam'
},
{
name: '餐飲食品',
icon: 'fas fa-utensils'
},
{
name: '其他',
icon: 'fas fa-pen'
},
{
name: '薪水',
type: '收入'
}
]
await Category.create(data)
db.close()
return User.find()
.then(async user => {
const userId = user[0]._id
await Category.create(
{
name: '家居物業',
icon: 'fas fa-home',
userId
},
{
name: '交通出行',
icon: 'fas fa-shuttle-van',
userId
},
{
name: '休閒娛樂',
icon: 'fas fa-grin-beam',
userId
},
{
name: '餐飲食品',
icon: 'fas fa-utensils',
userId
},
{
name: '其他',
icon: 'fas fa-pen',
userId
},
{
name: '薪水',
type: '收入',
userId
})
})
.then(() => {
console.log('done')
process.exit()
})
})
64 changes: 36 additions & 28 deletions models/seeds/recordSeeder.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,43 @@
const db = require('../../config/mongoose')
const Record = require('../record')
const User = require('../user')
const bcrypt = require('bcryptjs')


db.once('open', async () => {
console.log('recordSeeder is connect!')
const data = [
{
name: '神戶牛排',
category: '餐飲食品',
date: Date.now(),
amount: -2000
},
{
name: 'H1Z1',
category: '休閒娛樂',
date: Date.now(),
amount: -799
},
{
name: '收入',
category: '薪水',
date: Date.now(),
amount: 10000
},
{
name: '火鍋',
category: '餐飲食品',
date: Date.now(),
amount: -500
}
]
await Record.create(data)
db.close()
const SEED_USER = {
name: 'Alpha Camp',
email: '[email protected]',
password: '123'
}
bcrypt
.genSalt(10)
.then(salt => bcrypt.hash(SEED_USER.password, salt))
.then(hash => {
User.create({
name: SEED_USER.name,
email: SEED_USER.email,
password: hash
})
.then(async user => {
await Record.create({
name: '神戶牛排',
category: '餐飲食品',
date: Date.now(),
amount: -2000,
userId: user._id
}, {
name: 'H1Z1',
category: '休閒娛樂',
date: Date.now(),
amount: -799,
userId: user._id
})
})
.then(() => {
console.log('recordSeeder done!')
process.exit()
})
})
})
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"start": "node app.js",
"test": "echo \"Error: no test specified\" && exit 1",
"seed": "node models/seeds/categorySeeder.js && node models/seeds/recordSeeder.js",
"seed": "node models/seeds/recordSeeder.js && node models/seeds/categorySeeder.js",
"dev": "nodemon app.js"
},
"author": "",
Expand All @@ -31,4 +31,4 @@
"passport-google-oauth20": "^2.0.0",
"passport-local": "^1.0.0"
}
}
}

0 comments on commit c6faa18

Please sign in to comment.