몽고디비에서 간단한 마이그레이션 작업을 진행했는데 그 방법을 기록해두려고 한다.
하는 방법은 간단한데 먼저 Dump라는 작업을 진행해서 기존 디비 데이터를 내 로컬에 백업으로 복제를 해두고
Restore라는 작업을 통해서 새로 만든 클러스터의 데이터베이스로 넣어주게 된다.
1. 먼저 터미널을 내 프로젝트 작업 경로로 맞춰준다.
(vs코드나 커서 등 개발환경에서 보통 그 경로에서 작업하므로 그 경우 따로 세팅안해줘도 됨)
2. 덤프 관련 명령어를 아래와 같이 입력한다.
mongodump --uri="mongodb://localhost:27017/design-market" --out=./backup
여기서 mongodb://localhost:27017/ 여기까지는 몽고디비 Compass의 기본 로컬 주소이며
design-market는 내가 로컬에서 만들어주었던 database name이다.
맨 뒤를 --out=./backup 으로 세팅하면
1번에서 세팅한 현재 프로젝트 경로 안에 백업 폴더가 생성되고
그 안에 기존 디비 기록들이 복제가 된다.
3. 리스토어 관련 명령어를 아래와 같이 입력한다.
mongorestore --uri="mongodb+srv://<몽고디비 유저네임>:<몽고디비 유저비번>@<클러스터 명>-cluster.lbv1cwr.mongodb.net/graffin" ./backup/design-market
여기서 mongodb+srv://<몽고디비 유저네임>:<몽고디비 유저비번>@<클러스터 명>-cluster.lbv1cwr.mongodb.net/
여기까지는 몽고디비 Compass에서 클러스터를 생성하고 커넥트할 때 넣는 url과 동일하므로 그 url을 가져와준다.
(주소 중 lbv1cwr는 클러스터의 고유 식별자이므로 클러스터마다 다름)
그 주소 뒤에 있는 graffin 이라는 부분이 내가 새 클러스터에 새로 만들어준 database name이다.
그 뒤에 ./backup/design-market 이렇게 넣게되면
아까 백업해둔 경로에서 design-market 이라는 데이터베이스의 데이터를 모두 가져오게 된다.
이렇게 하면 깔끔하게 로컬 디비에 있던 자료들을 모두 새로운 클러스터로 가져올 수 있다.
다만 이 방법은 모든 파일을 모두 새로운 곳에 그대로 가져오는 방법이므로 신규로 할 때만 적용.
기존꺼 덮어쓰기, 덮어쓰지 않기, 컬렉션별로 가져오기 등은 이후에 기회가 되면 따로 포스팅 해두려고 한다.
'나의 개발 일지' 카테고리의 다른 글
Paddle을 이용한 결제 기능 구현 (VAT 계산, 영수증 발행 등 결제 관련 문제 한번에 해결!) (0) | 2025.03.08 |
---|---|
페이팔(Paypal) 결제 기능 구현하기 (Sandbox를 활용해서 테스트 버전 만들기) #javascript #nodejs #paynemt (0) | 2025.02.09 |
history.replaceState()와 pushState() 그리고 popstate로 브라우저 앞으로가기/뒤로가기 제어하기 (0) | 2025.02.02 |
자바스크립트로 PDF 다운로드, 프린트 기능 구현하기 (2) | 2025.01.28 |
자바스크립트를 이용한 모달(Modal) 창 켜고 끄기 (3) | 2025.01.28 |