강의

멘토링

커뮤니티

Inflearn Community Q&A

dhtpgus78092's profile image
dhtpgus78092

asked

[Renewal] Creating NodeBird SNS with React

node sequelize migrate 관련하여 질문 드립니다.

Resolved

Written on

·

309

0

backend node sequelize  지식이 부족하여 질문을 드립니다.

create migtate 에서 addcolumn 후  db:migrate를 하니까 잘 반영이 되더라고요 ?

 

근데 이걸 만든 후에 models 쪽에 define이나 클래스 생성시 init에 다시 js 파일 만들어서 반영 해줘야 할까요 ?

 

아 또...

removeColumn 하려고 up쪽에 addcolumn은 주석 시키고서 db:migrate 하니까 반영이 안되더라고요.. 

db:migrate:undo해서 날리긴했는데... 좀 더 안전한 방법하게 특정 파일 만 날릴 수 있나요 ?

 

계속 추가 하다 보면 migrate한 파일이 늘어나게 되고 undo시 선택이 안되는거같은데 잘못하다가 다른게 날라가는게 아닌가 해서요. 안전하게 migrate 파일을 더 늘려서 지워야하나요 ?

 

요약입니다.

1. create migrate 후 반영 시 init이나 define에 정의를 해줘야하는지?

2. removeColumn이나 droptable 시 특정 파일만 반영 시킬 수 있는지 ? 없다면 create migrate 후 드랍시켜야 하는지?

3. 마이그레이션 외 다른 방법이 혹여 있는지 ?

 

연휴 마무리 잘 하시길 바랍니다 ^^

 

아래는 코드 스크린 샷입니다.

아 소스는 노드교과서 ch9.5 소스입니다..

카카오 로그인 기능 쪽 구현 해보려고 passport쪽 보고 users 테이블에 컬럼 추가 하려고...

동작시켜보느라 깃헙 소스 긁어와서 보고 있습니다..

 

create한 마이그레이션 (addColumn)

 

model/hashtag.js

Next.jsreactnodejsreduxexpress

Answer 1

1

zerocho님의 프로필 이미지
zerocho
Instructor

1. 마이그레이션은 모델을 자동으로 수정해주지 않습니다. 직접 수정하셔야합니다(저도 이게 아쉽습니다). 프리즈마2라는 orm을 쓰면 이게 됩니다.

2. 항상 up에 하고싶으신 걸 쓰셔야합니다. 컬럼을 날릴거면 up에 remove를 쓰세요. down에 addColumn하시면 됩니다.

즉 특정파일만 돌릴 수는 없습니다. 바로 전것만 되돌리는것이고요. 바로 전이 아니라면 새로운 마이그레이션 만드셔야합니다. 스택 자료구조 생각하시면 됩니다.

fefefefe님의 프로필 이미지
fefefefe
Questioner

답변 감사합니다. 이 친구 제약사항이 많네요 ㅋㅋ
알려주신 프리즈마2 orm은 찾아보겠습니다 ^^ 

dhtpgus78092's profile image
dhtpgus78092

asked

Ask a question