Project/Error Handling

Sequelize 마이그레이션 에러

디스페어 2023. 1. 18.

ERROR: Attribute... cannot be parsed: Unknown type 'INTEGER.UNSIGNED'

 

DB 재설계를 위해 마이그레이션을 하다가 발생된 에러

npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string

 

해당 명령어를 입력하면 정의한대로 마이그레이션을 만들어주는데 INTEGER.UNSIGED 타입이 없다고 한다

아직 공식문서를 찾아보는 짬이 부족해서 명령어 선에서 해결하진 못했다.. 갸아악

 

그래서 임시로 INTEGER로 지정해서 만들어준 뒤 코드를 수정해서 타입을 변경해줬다

직접 변경할땐 마이그레이션과 모델 둘다 수정해줘야한다

안그러면 에러 존나게 뱉는다

 

migrations
models

 

 

 

Error: Cannot find module '../../models'

 

다시 생각해봐도 진짜 어처구니 없이 발생된 에러

npx sequelize-cli init

 

해당 명령어를 입력하게 되면 시퀄라이즈는 프로젝트에 필요한 폴더들을 자동으로 생성해주는데

그 중에서 models 폴더안의 index.js가 누락되서 발생된 에러다

 

이전에 사용하던 마이그레이션과 모델 파일들을 새로 갈아엎는다고 싹 날렸는데 그 과정에서 핵심기능을 담당하는 index.js까지 날려버린 것이다

 

모델 require 해둔 코드를 주석처리 하니까 에러 안뱉는게 뭔가 이상하다 싶긴 했는데..

 

MySQL 문법이 익숙하지 않아서 시퀄라이즈로 하드코딩을 하고 있긴 한데..

DB가 가벼울때 쓰면 좋은 친구라 MySQL 공부를 좀 더 하긴 해야겠다

DB가 커지면 커질수록 결국 시퀄라이즈는 쓰지 못하고 SQL문을 사용할 수 밖에 없다

 

 

 

Reference

시퀄라이즈 & CLI

시퀄라이즈 모델(테이블) 정의하기

시퀄라이즈 모델 INDEX / FULLTEXT 설정하기

MySQL UNSIGNED 의미, 언제 사용해야할까?

시퀄라이즈 공식문서

반응형

댓글