데이터 베이스 테이블 복사 기능 만들기
DBeaver와 같은 DB TOOL을 사용하지 않고 다른 위치의 DB 간의 테이블 복제하는 프로그램이 필요하여 간단하게 만들었다.
프로그램은 아주 단순 한다. 원본 테이블의 Select Query와 타켓 테이블의 Insert Query를 기준으로 마이그레이션을 진행한다.
소스 보기
준비 사항
- Gradle
- JDK 1.8
사용법
lahuman.Migration 파일의 10번째 라인과 11번째 라인의 DB 접속 정보를 입력 한다.
//Line 10~11
Connection originalDB = DriverManager.getConnection("URL", "ID", "PW"); //원본 DBMS
Connection targetDB = DriverManager.getConnection("URL", "ID", "PW"); //복제예정 DBMS
lahuman.Migration 파일의 13번째 라인의 SQL을 작성한다. 이때 작성하는 SELECT SQL과 INSERT SQL의 Column 순서는 맞아야 한다.
//LINE 13
copyTableUsingSQL(originalDB, targetDB, "select A, B, C from T1", "insert into T2(A,B,C)values(?,?,?)");
단순하게 만들어서 그런지 쉽게 사용할 수 있다.