# 데이터 병합 및 마이그레이션

## Content

기존에 이미 존재하는 애플리케이션을 배포할 때, 서버 데이터베이스를 덮어쓰는 방식으로 **반덮어쓰기(부분 덮어쓰기)** 또는 **전체 덮어쓰기**를 선택할 수 있습니다.

### 배포

빌더의 리본 메뉴에서 "배포 → 서버배포"를 선택하고, 발행 설정을 입력한 뒤 "다음"을 클릭합니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260618.e8edc4.png)
애플리케이션이 이미 존재한다는 안내와 함께, 데이터 항목 아래에서 "데이터베이스 덮어쓰기(테이블, 뷰 등 포함)"를 체크합니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260708.f74911.png?width=800)

![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260708.c07075.png?width=800)

### 데이터 병합 및 마이그레이션

"서버 데이터베이스 덮어쓰기"를 체크하면 다음 두 가지 옵션 중 선택할 수 있습니다:

* **모두 덮어쓰기**: 빌더의 데이터 테이블 구조와 데이터로 서버 측을 완전히 덮어씁니다.
* **부분 덮어쓰기**: 빌더의 데이터 테이블 구조로 서버 데이터 테이블 구조를 덮어쓰되, 서버 측 데이터는 그대로 유지합니다.

### 데이터 병합 설정

반덮어쓰기를 선택하면 데이터 병합 설정을 진행해야 합니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260708.1d2ce3.png?width=800)
"데이터 병합 설정" 대화상자 상단에는 "전체 항목"과 **"미처리 항목"** 두 개의 탭이 있습니다. 각 항목은 좌우 두 영역으로 나뉘며, 왼쪽은 빌더의 데이터베이스 스키마, 오른쪽은 서버 데이터베이스 스키마입니다.
대화상자를 열면 동일한 이름의 테이블과 열이 자동으로 매칭되며, 오른쪽 콤보박스에서 테이블이나 열을 선택해 매핑 정보를 지정할 수도 있습니다.

* 대응되는 테이블이나 열 항목이 없으면, 해당 항목 영역의 배경이 빨간색으로 표시되어 처리가 필요함을 알립니다.
* 미해결 항목이 새로 설계된 테이블이나 열이라면, **"새로 만들기"** 또는 \*\*"새로 만들고 빌더 데이터 유지"\*\*를 선택할 수 있습니다.
    * **새로 만들기**: 빌더 데이터를 유지하지 않음
    * **새로 만들고 빌더 데이터 유지**: 데이터 테이블 항목에서만 사용 가능하며, 빌더 데이터를 그대로 유지함 데이터 테이블 항목에서 "새로 만들기" 또는 "새로 만들고 빌더 데이터 유지"를 선택하면, 하위 열들도 자동으로 "새로 만들기"로 설정됩니다.

빌더 데이터 테이블 열과 서버 데이터 테이블 열의 데이터 타입이 다를 경우, 필드 오른쪽에 아이콘이 표시되어 다음과 같이 안내합니다: 데이터 타입 불일치(빌더 타입은 *사용자*, 서버 타입은 *텍스트*), 병합 시 빌더의 설정이 적용되며 데이터 손실이나 병합 오류가 발생할 수 있으니 실제 업무 상황에 맞게 수정해야 합니다.
빌더와 데이터베이스 타입 대응표는 다음과 같습니다:

| 빌더 데이터 타입 | 데이터베이스 데이터 타입 |
| --------- | ------------- |
| 텍스트 | string |
| 정수 | long |
| 소수 | double |
| 날짜 | double |
| 시간 | double |
| 여부(불리언) | long |
| 사용자 | string |
| 이미지 | string |
| 첨부파일 | string |

모든 항목이 올바르게 설정되면(배경이 빨간색인 항목이 없으면) \*\*"확인"\*\*을 클릭합니다. 그러면 매핑 정보가 발행 설정 대화상자에 저장됩니다.

* 발행 설정 대화상자를 닫지 않고 다시 "데이터 병합 설정"을 클릭하면, 이전에 저장한 설정이 자동으로 불러와집니다.
* 발행 설정 대화상자를 닫거나 발행할 애플리케이션 이름을 변경하면, 저장된 매핑 정보는 초기화되며 다시 설정해야 합니다.

매핑 정보 설정을 마친 후, 발행 설정 대화상자에서 \*\*"발행"\*\*을 클릭하면 발행 프로세스가 실행됩니다. 빌더는 매핑 정보를 서버로 전송하고, 서버는 서버 데이터베이스를 복제하여 마이그레이션 과정을 수행합니다.

### 자동 백업 설정

발행 애플리케이션에서 "서버 데이터베이스 덮어쓰기"를 반덮어쓰기로 선택한 경우, 발행 시 해당 애플리케이션을 자동으로 백업하도록 설정할 수 있습니다.
관리 콘솔의 전체 애플리케이션 목록에서 백업하려는 사이트를 클릭하면 해당 애플리케이션의 일반 설정 페이지로 이동합니다.
"배포 시 자동으로 백업하기" 자동 설정 영역에서 "데이터베이스 릴리즈를 재정의할 때 서버를 자동으로 백업하는 애플리케이션"을 체크하고, 자동 백업 경로를 설정합니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/4f96589d-8403-419e-b2a1-4f6776199cb9/image-20260708.0fb578.png?width=800)