sequelize2

USER TABLE 생성을 통한 crud

DML : Data Manipulation Language

/models/user.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
34
35
36
37
38
39
40
41
42
'use strict'
module.exports = (sequelize, DataTypes) =>{

return sequelize.define('user', {
id: {
type: DataTypes.INTEGER(9),
allowNull: false,
primaryKey: true,
autoIncrement: true,
field: 'id',
},
name: {
type: DataTypes.STRING(20),
allowNull: false,
field:'name',
},
age: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: false,
field:'age',
},
gender: {
type: DataTypes.BOOLEAN,
allowNull: false,
field: 'gender',
},
createdAt:{
type : DataTypes.DATE,
field: 'createdAt',

},
updatedAt:{
type : DataTypes.DATE,
field: 'updatedAt',

},
}, {
timestamps: false,

});

};

createdAt과 updatedAt을 자동으로 설정해주는 방법이 있겠지만! 일단 패스

/models/index.js 아래 추가

1
db.User = require('./user')(sequelize, Sequelize);

app.js를 run

  1. workbench 또는 cli를 통해 db에 접근하자!
  2. desc users를 보면 우리가 정의한 내용과 동일하게 생성

Insert

app.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const User = require('./models').User;

User.create({
name:'박기진',
age:'31',
gender:'0',
})
.then((result) => {
console.log(result);

})
.catch((err => {
console.error(err);
}));

생성확인 select * from users where name = ‘박기진’;

Select

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
34
35
36
37
38
39
40
41
42
User.findById(2)
.then((user) => {
console.log(user);
console.log('finish to findById');
})
.catch((err => {
console.error(err);
}));



User.findOne({ where : {age : 29}})
.then((user) => {
console.log(user);
console.log('finish to findOne');
})
.catch((err => {
console.error(err);
}));


User.findAll()
.then((users) => {
console.log(users);
console.log('finish to findAll');
})
.catch((err => {
console.error(err);
}));

User.findAndCountAll(
{ where :
{age : 29}
})
.then((result) => {
console.log(result);
console.log(result.count);
console.log('finish to findAndCountAll');
})
.catch((err => {
console.error(err);
}));

위의 것들을 하나씩하나씩 app.js에 추가하며 확인해보자

Update

1
2
3
4
5
6
7
8
9
User.update({age : 100}, {where :{age : 35}})
.then((result) => {
console.log(result);

console.log('finish to update');
})
.catch((err => {
console.error(err);
}));

Delete

1
2
3
4
5
6
7
8
9
User.destroy({where : {age : 31}})
.then((result) => {
console.log(result);

console.log('finish to update');
})
.catch((err => {
console.error(err);
}));

위와같이 간단한 dml을 정상적으로 확인하였다!

이제 App.js에서 실행해서 해당 쿼리를 실행시키는 것이 아닌 직접 request를 날려서 쿼리를 실행해보자!