Situation
- migration을 위한 sequelize 명령어 실행 시 오류 발생
1) #sequelize db:migrate
sequelize: 명령을 찾을 수 없습니다.
2) #npx sequelize-cli db:migrate
ERROR: Unkown database 'authentication'
3) # sequelize db:seed:all
ERROR: Table 'authentication.Users' doesn't exist
- migration을 위한 file 이미 생성되어 있음
./migrations/xxxxxx-create-user.js
- migration을 위한 seeders 파일도 존재
./seeders/xxxxx-first-user.js
Solution
1) 명령어 문제 : sequelize, sequelize-cli 패키지 설치하여 해결
npm install sequelize
sudo npm install -g sequelize-cli
sequelize-cli 모듈을 -g(전역)로 설치하면 커맨더창에서 바로 sequelize 사용가능
sequlize-cli 모듈은 sequelize를 조금 더 효율적으로 사용하기 위해서 init 과정에서 몇 개의 폴더와 파일( config, model, seeder 등 )을 생성해줌.
2) database unknown error : db 생성하여 해결
sequelize db:create
위 명령어를 통해 config에 설정한 db를 먼저 만들어줘야 migration 가능
config.js 파일 안에는 db에 대한 정보(username, password, database 이름, host 등)가 기록되어 있음.
3) seed:all 명령어에서 table 없는 문제 : migration 통해 해결
sequelize db:migrate
db를 migrate하면 ./migrations/xxxxxx-create-user.js 파일 내 미리 정의한 table이 authentication db에 생성됨.
sequelize db:seed:all
이후에 seed:all 명령어를 실행하면 ./seeders/xxxxx-first-user.js 파일 내에 있던 기본 data가 bulk로 insert 됨.
참고
[Node.js] Sequelize(1) - sequelize와 sequelize-cli
Sequelize 시리즈 [Node.js] Sequelize(1) - sequelize와 sequelize-cli [Node.js] sequelize(2) - 모델 정의하기 [Node.js] sequelize(3) - CRUD + RESTful 게시판 만들기 [Node.js] sequelize(4) - 관계 설정( a..
victorydntmd.tistory.com
'TIL' 카테고리의 다른 글
TIL) 토큰기반 인증 : JWT (0) | 2022.06.08 |
---|---|
TIL) res.status (0) | 2022.06.07 |
TIL) 학습내용 점검: JS 풀스택 기술 익혀가는 중, 보완할 부분 매우 많음 (0) | 2022.05.28 |
TIL) hook 개념 및 useEffect 사용법 (0) | 2022.05.28 |
TIL) useState 통해서 상태 업데이트 할 때 String 타입으로 변경 (0) | 2022.05.22 |