작성
·
927
0
안녕하세요. 정말 잘 배우고 있습니다.
강의 듣는 중에 궁금한게 2가지가 있는데요.
첫번쨰로, 강의에서 배포하실 떄 노드랑 mysql을 하나의 서버에 뒀지만, 2개로 나누는게 맞다고 말씀하셧습니다. 두개로 나눈다고 할 때, Amazon RDS로 사용하는게 나은지 아니면 ec2로 mysql만 따로 설치하는게 나은지 궁금합니다.
두번째로, 예를들어, 배포후에 서비스를 하는 중이었는데, 추가기능을 업데이트하려고 합니다. 테이블이 추가되고 컬럼이 추고 되는 등 데이터베이스의 구조가 바뀌었을 경우에, 실무에서 보통 어떻게 처리하나요? 기존 디비에 들어있는 내용을 유지는 하면서 새로운 컬럼이 추가되는 경우도 생길수 있을거 같습니다. 또 FK때문에 테이블을 다시 지우도 다시 만들어야하는 상황도 생길수 있을거 같은데, 이런 경우는 어떻게 다루나요?
감사합니다.
답변 3
1
https://sequelize.org/master/manual/migrations.html
이렇게 공식문서만 보시면 됩니다. up은 migration 수행 사항, down은 롤백 시 수행할 사항 적으시면 됩니다.
실무라는게 뭐 별다른것이 있는게 아닙니다. 그냥 잘 되면 실무에서도 쓰는거고 잘 안 되면 꽝인 겁니다.
1
rds로 나누는 게 맞습니다. 다만 비용이 비싸므로 공부할 때에는 ec2에다가 하나로 두세요.
db 테이블이 변경되는 경우에는 orm에서 제공하는 migration이라는 기능을 이용합니다. 테이블을 지우는 건 최대한 지양하시는 게 좋습니다. 그래서 처음 설계를 잘 하는게 중요한 것입니다. 웬만하면 테이블을 지우는 상황은 잘 나오지 않습니다. 대부분 다 change column이나 add column같은 쿼리로 어느 정도 해결 되거든요.
0
구글에 디비 마이그레이션을 하는 기본적인 자료는 있는데 실무에서 하는 방법이 나와 있는걸 찾기가 어려운데 혹시 추천해주실만한 사이트나 블로거 혹은 유투버 있으실까요? 책이나 영어여도 상관없습니다 아무리 검색해도 구글링이 부족한지 도움을 요청합니다.
답변 감사합니다.