DBeaver 사용하여 데이터 이관하기

misonaru·2023년 1월 5일

출처 : https://velog.io/@khmdevmem/DBeaver-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9D%B4%EA%B4%80%ED%95%98%EA%B8%B0


이관하려는 테이블을 선택한 후 우클릭 > Export (데이터 내보내기)

target DB를 선택한 후 진행하면 된다.


DB 테이블이 무사히 복사가 된 것을 확인한다.
하지만 복사되지 않은 것이 있었다... 각 테이블의 Constraints, Foreign Keys와 DB의 Sequence이다.

Constraints는 PK, UK 설정이 포함되어있다.
Foreign Keys는 PK를 모두 설정한 후에 설정해줄 수 있다.

이 값들은 테이블 옮기는 것과 같은 방법으로 옮겨지지 않았다... 하나하나 설정해주었다.

아래 사항들을 주의해서 설정하자.

주의

PK 값이 테이블 별로 서로 다를 수 있기 때문에 referenced column의 컬럼명을 반드시 확인 후 추가하도록 한다.
참조하려는 테이블의 column명이 같을 경우 auto match 해주지만 다를 경우 직접 선택해주어야한다. (왼쪽의 빈 부분을 누르면 선택할 수 있는 드롭박스가 뜬다.)
Sequence는 auto increment (ex JPA의 @generateId) 값의 초기값, 마지막값에 대해 정의한다. 위 방법으로 테이블을 export할 경우 Sequence 값은 초기화 되기 때문에 1부터 시작한다.(초기화 되지 않게 이관할 수 있는 방법을 알고계시다면 알려주세요..) 따라서 last value를 수기로 입력해주어야한다. 이때 이전 테이블 sequence에서 +1이 된 값을 입력해주어야 오류가 나지 않았다.(is_called가 false로 바뀌기 때문인 것 같다. 정확하지 않음)

profile
미소와 나루 집사

0개의 댓글