자습서: Oracle에서 Azure Database for PostgreSQL 유연한 서버로 애플리케이션 변환(미리 보기)

이 자습서에서는 GitHub Copilot 에이전트 모드에서 Visual Studio Code PostgreSQL 확장을 사용하여 oracle 클라이언트 애플리케이션 코드를 Azure Database for PostgreSQL 변환하여 코드 변환을 자동화하고 유효성을 검사하는 방법을 안내합니다.

환경 설정, 애플리케이션 코드베이스 가져오기, 변환 프로세스 실행 및 생성된 PostgreSQL 호환 코드 검토에 대해 설명합니다. 시작하기 전에 최적의 결과를 위해 스키마 변환 프로젝트를 완료해야 합니다.

변환 중에 기대할 수 있는 항목은 다음과 같습니다.

  • 환경 설정: 적절한 AI 모델을 사용하여 GitHub Copilot 에이전트 모드 구성
  • 코드베이스 가져오기: 마이그레이션 프로젝트 구조에서 애플리케이션 코드 구성
  • AI 처리: 데이터베이스 컨텍스트를 사용하여 애플리케이션 코드를 처리하고 변환하는 GitHub Copilot
  • TODO 작업 실행: 자동화된 작업 목록 생성 및 체계적인 변환
  • 보고서 생성: 결과 및 권장 사항이 포함된 포괄적인 변환 보고서
  • 파일 비교: 원본 및 변환된 코드를 검토하기 위한 기본 제공 diff 도구

Prerequisites

이 섹션에서는 변환을 시작하기 전에 Oracle을 Azure Database for PostgreSQL로 전환하는 Visual Studio Code 애플리케이션 변환 기능의 필수 구성 요소를 설명합니다.

시스템 요구 사항

요구 사항 규격
Visual Studio Code 버전 1.95.2 이상
GitHub Copilot 구독 Pro+, Business, Enterprise

운영 체제 지원

플랫폼 아키텍처
Windows x64 및 ARM64
Linux x64 및 ARM64
macOS x64(인텔) 및 ARM64(Apple 실리콘)

AI 모델 요구 사항

GitHub Copilot 에이전트 모드로 구성된 다음 AI 모델 중 하나가 필요합니다.

모델 버전
Claude Sonnet 4.6 또는 Opus 4.6 이상

애플리케이션 변환을 시작하기 전에 최적의 코드 변환 결과를 위해 GitHub Copilot 에이전트 모드 모델을 Claude Sonnet 4.6 또는 Claude Opus 4.6 이상으로 설정합니다.

PostgreSQL 버전 지원

대상 데이터베이스 버전
Azure Database for PostgreSQL의 유연한 서버 PostgreSQL 버전 15 이상
Azure HorizonDB PostgreSQL 버전 17 이상

스키마 변환 권장 사항

데이터베이스 스키마 변환을 미리 수행할 필요는 없지만 스키마 마이그레이션을 먼저 완료하는 것이 좋습니다. Oracle 스키마를 PostgreSQL로 이미 변환한 경우 애플리케이션 변환 프로세스는 다음을 통해 보다 정확한 컨텍스트 및 고품질 코드 변환 결과를 제공합니다.

  • 코딩 참고 사항: 스키마 변환 중에 생성된 메타데이터 아티팩트(아래 코딩 참고 사항 참조)
  • 데이터베이스 컨텍스트: 변환된 스키마 개체에 직접 액세스
  • 데이터 형식 매핑: 형식 변환에 대한 정확한 이해

기타 필수 조건

  • Azure Database for PostgreSQL 인스턴스에 대한 데이터베이스 연결
  • Visual Studio Code 확장 마켓플레이스 및 GitHub Copilot 서비스에 대한 액세스

코딩 노트란?

코딩 메모는 스키마 변환 단계에서 자동으로 생성되는 메타데이터 아티팩트입니다. 나중에 프로세스가 애플리케이션 코드 변환을 향상시키는 데 사용하는 Oracle-PostgreSQL 스키마 변환에서 주요 변환 세부 정보 및 인사이트를 캡처합니다.

코딩 노트에는 다음과 같은 정보가 포함될 수 있습니다.

  • 데이터 형식 매핑 및 구조적 변경
  • 시퀀스, ID 및 복합 형식에 대한 변환 세부 정보
  • 날짜/시간 또는 간격 구현에 대한 조정
  • 참조 무결성 제약 조건이 있는 테이블에 대한 참조
  • 프로시저 및 함수 서명을 포함한 복잡한 Oracle 패키지 요약
  • 코드 변환 정확도를 개선하기 위한 추가 AI 생성 힌트

애플리케이션 변환 중에 AI 모델은 이러한 메모를 상황별 신호로 사용하여 보다 정확하고 의미 체계적으로 정렬된 PostgreSQL 호환 코드를 생성합니다.

애플리케이션 변환 프로세스

이 섹션에서는 환경을 설정하고, 코드베이스를 가져오고, 변환을 실행하고, 생성된 보고서를 검토하고, 파일 변경 내용을 비교하는 전체 애플리케이션 변환 워크플로를 안내합니다.

1단계: 환경 설정

  • PostgreSQL 확장이 설치된 Visual Studio Code 엽니다.
  • GitHub Copilot 채팅 인터페이스를 엽니다.
  • 모델 에서 클로드 소넷 4.6 또는 클로드 오푸스 4.6 을 선택합니다.

모델 선택 스크린샷

최적의 애플리케이션 변환 결과를 위해서는 Claude Sonnet 4.6 또는 Claude Opus 4.6을 사용해야 합니다. 모델이 낮을수록 덜 정확한 변환이 생성될 수 있습니다.

2단계: 마이그레이션 프로젝트 열기

  • 스키마 변환 프로젝트가 포함된 작업 영역을 엽니다.

  • 마이그레이션 프로젝트 폴더 구조로 이동합니다.

    .github/postgres-migration/project_name/
    
  • 프로젝트 구조에 스키마 변환에서 필요한 폴더 및 파일이 포함되어 있는지 확인합니다.

3단계: 마이그레이션 프로젝트에 코드베이스 복사

  • 프로젝트에서 application_code 폴더를 찾습니다.

    .github/postgres-migration/project_name/application_code/
    
  • 마이그레이션할 코드베이스 폴더를 프로젝트 폴더 내의 application_code 폴더로 복사합니다.

  • 체계적으로 변환할 수 있도록 파일을 논리적으로 구성합니다.

프로젝트 내의 애플리케이션 코드 폴더 스크린샷

원래 애플리케이션 코드를 별도의 위치에 백업으로 유지합니다. 마이그레이션 프로젝트 구조로 변환하려는 파일만 복사합니다.

4단계: 클라이언트 코드 마이그레이션 시작

  • PostgreSQL 확장 마이그레이션 패널에서 애플리케이션 마이그레이션 을 선택하여 애플리케이션 변환 마법사를 시작합니다.
  • 로드되는 양식에서 작업 영역의 루트에 복사한 폴더를 선택합니다.
  • 애플리케이션에 대한 컨텍스트가 있는 데이터베이스를 선택합니다.
    • 변환된 DDL을 배포한 PostgreSQL 데이터베이스 또는
    • 애플리케이션 스키마가 이미 있는 PostgreSQL 데이터베이스
  • 애플리케이션 변환을 선택합니다. 애플리케이션 변환 스크린샷

이 작업은 다음 프로세스를 시작합니다.

  • 사용자 지정 복합 프롬프트 및 에이전트 모드 도구를 호출합니다.
  • 에이전트 모드에서 작업을 진행하는 작업의 TODO 목록을 생성합니다.
  • 향상된 컨텍스트를 위해 데이터베이스에 연결하고 읽습니다.
  • 애플리케이션 코드 파일을 체계적으로 변환합니다.

5단계: 변환 진행률 모니터링

  • 파일을 처리하는 GitHub Copilot 에이전트 모드 인터페이스를 확인합니다.
  • 에이전트는 생성된 TODO 목록을 체계적으로 처리합니다.
  • 입력이 필요할 수 있는 에이전트의 프롬프트 또는 질문을 검토합니다.
  • 결과를 검토하기 전에 변환 프로세스가 완전히 완료되도록 허용합니다.

6단계: GitHub Copilot 앱 현대화 확장을 사용한 향상된 Java 변환(선택 사항)

Java 코드로 작업하는 경우: 변환을 시작하기 전에 GitHub Copilot 앱 현대화 확장 설치하여 변환 프로세스를 향상시킬 수 있습니다.

자동 테스트 컴파일

두 VS Code 확장은 원활한 통합을 제공하기 위해 서로 통신합니다. Java 코드를 변환할 때 앱 현대화 확장은 변환된 코드의 테스트 컴파일을 자동으로 수행하여 프로세스 초기에 구문 오류 또는 컴파일 문제를 식별합니다.

자동 단위 테스트 생성

변환된 코드베이스에 따라 앱 현대화 확장은 변환된 애플리케이션이 올바르게 작동하는지 확인하는 데 도움이 되는 단위 테스트를 자동으로 생성합니다. 이 통합은 앱 현대화 확장의 기능을 활용하여 다음을 수행합니다.

  • 변환된 Java 클래스 및 메서드 분석
  • 중요한 코드 경로에 대한 적절한 테스트 사례 생성
  • PostgreSQL 데이터베이스 연결을 사용하는 테스트 비품 만들기

GitHub Copilot 앱 현대화 확장을 설치하는 것은 자동화된 컴파일 검사 및 테스트 생성을 통해 유효성 검사를 크게 가속화하고 변환 품질을 향상하므로 Java 마이그레이션 프로젝트에 매우 권장됩니다.

7단계: 코드 변환 보고서 검토

  • 애플리케이션 변환이 에이전트 모드에서 완료되면 자동으로 포괄적인 보고서가 생성되고 열립니다.
  • 이 보고서는 변환에 대한 자세한 결과와 권장되는 다음 단계를 제공합니다. 변환 보고서의 스크린샷.

포괄적인 보고서 지침: 변환 결과 해석, 파일 상태 이해 및 유효성 검사 전략 계획에 대한 자세한 내용은 Azure Database for PostgreSQL 애플리케이션 변환 생성 보고서(미리 보기)를 참조하세요.

8단계: 파일 차이 기능을 사용하여 코드 변경 내용 비교

  • 변환된 파일(예: 파일)을 마우스 오른쪽 단추로 .java 클릭하고 앱 마이그레이션 파일 쌍 비교를 선택합니다.
  • 이렇게 하면 원본 및 변환된 파일의 나란히 보기가 열립니다.
  • 이를 사용하여 테스트하기 전에 중요한 변환의 유효성을 검사합니다.

효과적 파일 비교 전략: 먼저 검토할 파일의 우선 순위 지정과 유효성 검사 작업에 집중하는 방법에 대한 지침은 Azure Database for PostgreSQL 애플리케이션 변환 생성 보고서(미리 보기)를 참조하세요.

9단계: 변환된 애플리케이션 코드 유효성 검사

필수 유효성 검사 단계:

  • 변환된 PostgreSQL 스키마를 사용하여 비프로덕션 테스트 환경 설정
  • 새 PostgreSQL 연결 문자열을 사용하여 데이터베이스 연결 테스트
  • 중요한 비즈니스 워크플로를 실행 하여 애플리케이션 동작 확인
  • Oracle의 예상 결과에 대해 SQL 쿼리 결과의 유효성 검사
  • 변환 보고서에서 식별된 주소 플래그가 지정된 영역

Important

AI 시스템은 때때로 실수를 할 수 있습니다. 기능 회귀, 보안 문제 또는 데이터 액세스 문제를 방지하려면 프로덕션 환경에 배포하기 전에 변환된 모든 애플리케이션 코드의 유효성을 독립적으로 검사합니다.

체계적인 유효성 검사 접근 방식: Oracle 애플리케이션 코드를 Azure Database for PostgreSQL (미리 보기)로 변환하기 위한 모범 사례의 유효성 검사 프레임워크를 활용하여 Oracle 통합 복잡성과 변환 보고서 결과를 기반으로 테스트의 우선 순위를 지정합니다.

변환 후 단계

애플리케이션 변환을 완료한 후:

  • 단위 테스트 실행: 변환된 코드에 대해 애플리케이션의 테스트 제품군을 실행합니다.
  • 통합 테스트: PostgreSQL 데이터베이스를 사용하여 애플리케이션을 테스트합니다.
  • 성능 테스트: 쿼리 성능이 요구 사항을 충족하는지 확인합니다.
  • 코드 검토: 팀 구성원이 변환된 코드를 검토하여 정확도를 확인합니다.
  • 설명서 업데이트: Oracle 관련 기능을 참조하는 모든 설명서를 업데이트합니다.

포괄적인 유효성 검사 전략: Oracle 애플리케이션 코드를 Azure Database for PostgreSQL(프리뷰)로 변환할 때 발생하는 복잡성에 따른 자세한 유효성 검사 프레임워크, 테스트 우선 순위 및 팀 조정 방법에 대한 검증된 모범 사례를 참조하세요.

Visual Studio Code 확장에 대한 자세한 내용은 Visual Studio Code용 PostgreSQL 확장을 방문하세요.