Docs Menu
Docs Home
/
Relational Migrator
/ /

Atlas Triggers 변환

이 페이지의 내용

  • 이 작업에 대하여
  • 시작하기 전에
  • 단계
  • 예시
  • 자세히 알아보기

쿼리 변환기를 사용하여 SQL Atlas 트리거를 가져오고 MongoDB Atlas Triggers 로 변환할 수 있습니다. 쿼리 변환기는 Atlas Triggers를 변환할 때 프로젝트에 정의된 SQL 코드와 관계형 스키마를 고려합니다.

  • 쿼리 변환기는 길거나 복잡한 쿼리, 트리거, 패키지 또는 저장 프로시저를 변환할 수 없는 AI 기술을 사용합니다. 일부 쿼리는 올바르게 변환되지 않을 수 있고, 다른 쿼리는 전혀 변환되지 않을 수 있습니다. 자세한 내용은 AI 및 데이터 사용 정보를 참조하세요.

  • 쿼리 변환기는 현재 프로젝트의 관계형 스키마, MongoDB 스키마 및 매핑 규칙을 사용하여 쿼리를 변환하는 방법을 결정합니다. 쿼리가 관계형 스키마에 없는 테이블을 참고하거나 MongoDB collection에 매핑되지 않은 테이블을 참고하는 경우 변환이 실패하거나 올바르지 않을 수 있습니다.

  • 변환된 쿼리, 트리거, 뷰, 패키지 및 저장 프로시저는 프로젝트 프로젝트 오기 및 내보내기를 통해 유지됩니다.

  • SQL 쿼리는 40 000 텍스트 문자로 제한됩니다.

  • 왼쪽 Query Converter 창에서 이전 전환 내역을 볼 수 있습니다. 각 변환에는 변환 결과를 나타내는 아이콘이 있습니다. 객체 옆에 아이콘이 없으면 아직 변환이 시도되지 않은 것입니다.

    Icon
    설명

    Spinner

    이제 변환이 실행 중입니다.

    녹색 확인 표시

    전환에 성공했습니다.

    빨간색 느낌표

    마지막 시도에서 전환이 실패했습니다.

  • relational database에는 변환할 trigger가 하나 이상 있어야 합니다.

  • 프로덕션 환경에 배포하기 전에 항상 쿼리 변환기에서 생성된 코드를 검토하고 테스트합니다.

1

Code Generation 탭에서 Query Converter 창을 클릭합니다.

쿼리 변환기에 처음 액세스하거나 세션이 만료된 경우 Log In To Use Query Converter 를 클릭하고 Atlas 자격 증명을 제공합니다.

2
  • 프로젝트에서 쿼리 변환기를 처음 사용하는 경우 Import From Database 을(를) 클릭합니다.

  • 프로젝트에 이미 변환된 SQL 코드가 있는 경우 왼쪽 창에서 Manage Database Objects 버튼을 클릭합니다.

3
  1. Import Database Objects 모달에서 다음을 클릭합니다. Database 옆에 있는 아이콘을 클릭합니다.

  2. 다음을 클릭합니다. 아이콘을 클릭합니다.

  3. 다음을 클릭합니다. Triggers 옆에 있는 아이콘입니다.

    전환 trigger 를 토글하려면 다음을 클릭합니다. trigger 이름 옆에 있는 아이콘을 클릭합니다. 모든 트리거가 기본값 선택되어 있습니다.

  4. Save를 클릭합니다.

    데이터베이스 스키마의 각 trigger에 대한 코드를 프로젝트로 가져오고 왼쪽 Query Converter 창의 Triggers 아래에 표시합니다.

4
  1. 왼쪽 창 Triggers 아래에서 트리거 이름을 클릭합니다.

    Filter 텍스트 상자를 사용하여 객체 이름과 SQL 구문을 기준으로 쿼리, 저장 프로시저, 트리거, 패키지 및 뷰를 필터하다 할 수 있습니다.

    SQL 트리거 코드가 Imported Trigger 창에 표시됩니다.

  2. Convert 버튼을 클릭합니다. 쿼리 변환기가 코드를 변환할 때까지 기다립니다.

    변환된 MongoDB 코드가 Converted MongoDB Query 창에 표시됩니다.

    쿼리 변환기에 오류가 있는 경우 Converted MongoDB Query 창에서 세부 정보를 볼 수 있습니다.

  3. 다음을 클릭합니다. Converted MongoDB Query 창의 아이콘을 클릭하여 MongoDB 코드를 클립보드에 복사합니다.

5
  1. Atlas 계정에 로그인합니다.

  2. Overview 화면에서 Triggers 을 클릭합니다.

  3. Add Trigger를 클릭합니다.

    변환된 MongoDB 코드에는 Atlas에서 trigger를 생성하기 위해 선택해야 하는 모든 변수에 대한 주석 줄이 포함되어 있습니다. 예를 들면 다음과 같습니다.

    // Collection Name: products
    // Operation Type: Insert
  4. Name 텍스트 필드에 trigger 이름을 입력합니다.

  5. Cluster Name, Database NameCollection Name 를 선택합니다.

  6. Operation TypeInsert Document 으로 선택합니다.

  7. Document PreimageFull Document 스위치를 켜짐으로 전환합니다.

  8. Function 텍스트 필드에 변환된 MongoDB 코드를 입력합니다.

    중요

    생성된 Atlas 코드에서 clusterNamedatabaseName 를 cluster 및 데이터베이스 이름과 일치하도록 업데이트합니다.

  9. Save 을 클릭하여 Realm 트리거를 저장합니다.

다음 예제는 Atlas에 대한 MySQL trigger 변환기를 보여줍니다.

CREATE TRIGGER TRIGGER_UPPER_PRODUCTS
BEFORE INSERT
ON MYDATABASE.PRODUCTS
FOR EACH ROW
SET NEW.FULL_NAME = UPPER(new.FULL_NAME)
// The relational database trigger has been converted to MongoDB Atlas Triggers format.
// To create a trigger, open your Atlas project (https://cloud.mongodb.com) and choose Triggers
// For more on Atlas triggers see the docs: https://www.mongodb.com/ko-kr/docs/atlas/triggers/
// Create your trigger using the following settings and paste the code into the Function section:
// Watch Against: Collection
// Cluster Name: Ensure clusterName matches selection in Atlas Trigger configuration
// Database Name: Ensure databaseName matches selection in Atlas Trigger configuration
// Collection Name: products
// Operation Type: Insert
// Full Document: On
// Document Preimage: Off
exports = async function(changeEvent) {
const clusterName = "clusterName";
const databaseName = "databaseName";
const { fullDocument } = changeEvent;
const db = context.services.get(clusterName).db(databaseName);
const collection = db.collection('products');
if (fullDocument && fullDocument.fullName) {
fullDocument.fullName = fullDocument.fullName.toUpperCase();
await collection.updateOne({ _id: fullDocument._id }, { $set: { fullName: fullDocument.fullName } });
}
};

돌아가기

Oracle 패키지 변환