GCP로 배포중인 임시 프로젝트의 서버 비용이 부담 되어 당분간 컴퓨터 한대를 서버로 사용하기로했다.
VM, SQL, Storage를 사용중인데 Storage는 거의 비용이 나가지 않았고 VM과 SQL이 각각 총 비용의 2:8를 차지하며 SQL에서 많은 비용이 발생하였다.(아마 batch 때문에 그런거같다...) 일단 전용 서버 장비가 아니다보니 모든 기능을 이관하기엔 보틀넥 문제같은.. 이슈가 발생할 것 같아서 선택적으로 이관하기로 했다.
비용이 거의 나가지 않는 Storage는 유지하고 싶었다. 그런데 Storage는 VM을 통하지 않으면 외부 접근 권한 설정을 해줘야하는 문제가 생길 수 있었다. 접근 권한 설정에도 추가 공수가 필요할 것 같았기에 결과적으로 SQL 인스턴스만 이관하기로 했다. (하려면 할 수 있겠지만... 시간이 없었다.)
DB를 이관하는 방법을 찾아보았는데, 쿼리문을 작성하는 방법과 데이터베이스 관리 도구를 이용해 옮기는 방법이 있었다. DB 이관 작업이 처음이기도하고, 혹시 모를 실수를 위해 직관적으로 볼 수 있는 편이 나을 것 같아 DBeaver를 이용하여 이관하기로 했다.
검색해보니 방법은 생각보다 간단(할 것으로 예상)하였다.
target DB를 선택한 후 진행하면 된다.
하지만 복사되지 않은 것이 있었다... 각 테이블의 Constraints, Foreign Keys와 DB의 Sequence이다.
- Constraints는 PK, UK 설정이 포함되어있다.
- Foreign Keys는 PK를 모두 설정한 후에 설정해줄 수 있다.
이 값들은 테이블 옮기는 것과 같은 방법으로 옮겨지지 않았다... 하나하나 설정해주었다.
아래 사항들을 주의해서 설정하자.