저장을 습관화
230706 TIL 본문
https://github.com/jeongho218/practice_for_sequelize_transaction_230706.git
GitHub - jeongho218/practice_for_sequelize_transaction_230706
Contribute to jeongho218/practice_for_sequelize_transaction_230706 development by creating an account on GitHub.
github.com
sequelize db 작업
0. 기존 DB 삭제
$ npx sequelize db:drop
DB의 모든 테이블과 데이터가 삭제된다.(DB를 초기 상태로 되돌린다.) 백업 필수!
1. config.json 설정 확인
"username", "password", "database", "host" 확인
2. DB 생성
$ npx sequelize db:create
(현재 config.json의 설정 내용에 맞춰 DB가 생성됨)
3. DB 마이그레이션
$ npx sequelize db:migrate
(sequelize CLI가 프로젝트의 마이그레이션 파일을 찾고, 이를 순차적으로 실행하여 데이터베이스 스키마를 변경하는 명령어.
마이그레이션 파일을 실행하여 DB 스키마를 업데이트 한다. 마이그레이션 파일은 DB 스키마 변경 사항을 정의하고, 이를 기반으로 DB를 업데이트한다. 새로운 테이블을 추가하거나 기존 테이블의 컬럼을 변경하는 등의 작업을 수행한다.)
4. DB 모델 생성
migration과 model 파일을 생성함
예시)
$ npx sequelize model:generate --name UserHistories --attributes userId:integer,beforeName:string,afterName:string
로직
1. 게시글을 작성하려는 클라이언트가 로그인된 사용자인지 검증한다.
2. 변경할 이름(name)을 body로 전달받는다.
3. 사용자의 현재 이름(name)을 조회한다.
4. 사용자 정보 테이블(UserInfos)에서 사용자의 이름(name)을 수정한다.
5. 사용자의 이름이 변경된 이력을 사용자 히스토리(UserHistories) 테이블에 저장한다.
6. 사용자 이름 변경 API 완료
'공부 > TIL' 카테고리의 다른 글
230725 TIL - 데이터 타입 enum, babel (0) | 2023.07.26 |
---|---|
230710 TIL (0) | 2023.07.10 |
230704 TIL (0) | 2023.07.04 |
230629 TIL (0) | 2023.06.29 |
230628 TIL (0) | 2023.06.28 |