20.12.31 [Sequelize Hooks]

박종찬·2020년 12월 31일
0

TIL

목록 보기
66/89
post-thumbnail

4주 프로젝트에 사용자 비밀번호 암호화와 Access Token 만료에 대한 재생성 기능을 추가했다. 이제 백앤드로 목표했던 Bare MinimumAdvanced는 끝이 났다.
이후로는 매일 전체 코드를 보면서 리팩토링하면서 보기 좋은 코드를 작성해야겠다 🤓

Hooks

Models에 사용할 수 있는 Sequelize Hooks(lifecycle Events)란 레코드가 추가되기 에 호출되는 함수다. 쉽게 말해 테이블에 저장되기 전에 양념을 치거나 데이터를 꺼내온 뒤 양념을 쳐서 데이터를 전달하는 과정이 Hooks다.

우선 순위


1순위
beforeBulkCreate(instances, options)
beforeBulkDestroy(options)
beforeBulkUpdate(options)
2순위
beforeValidate(instance, options)

[... validation happens ...]

3순위
afterValidate(instance, options)
validationFailed(instance, options, error)
4순위
beforeCreate(instance, options)
beforeDestroy(instance, options)
beforeUpdate(instance, options)
beforeSave(instance, options)
beforeUpsert(values, options)

[... creation/update/destruction happens ...]

5순위
afterCreate(instance, options)
afterDestroy(instance, options)
afterUpdate(instance, options)
afterSave(instance, options)
afterUpsert(created, options)
6순위
afterBulkCreate(instances, options)
afterBulkDestroy(options)
afterBulkUpdate(options)


이 순위를 참고하면 양념을 언제 칠 수 있는지 알 수 있다.
일반적인 레코드 동작은 4순위 마지막인걸 알 수 있다.

profile
반가워요! 사람을 도우는 웹 개발자로 성장하기! :)

0개의 댓글