Inflearn Community Q&A
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
Answer 1
1
1. 마이그레이션은 모델을 자동으로 수정해주지 않습니다. 직접 수정하셔야합니다(저도 이게 아쉽습니다). 프리즈마2라는 orm을 쓰면 이게 됩니다.
2. 항상 up에 하고싶으신 걸 쓰셔야합니다. 컬럼을 날릴거면 up에 remove를 쓰세요. down에 addColumn하시면 됩니다.
즉 특정파일만 돌릴 수는 없습니다. 바로 전것만 되돌리는것이고요. 바로 전이 아니라면 새로운 마이그레이션 만드셔야합니다. 스택 자료구조 생각하시면 됩니다.





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