마이그레이션 전 분석 보고서 받기

얻다 /analysis/{projectId}/report

마이그레이션 전 분석 보고서를 받으세요.

경로 매개변수

  • projectId 문자열 필수 사항

    프로젝트 ID

    형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

응답

  • 200 application/json

    확인

    응답 속성 숨기기 응답 속성 표시 객체
    • id 문자열 필수 사항

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • projectId 문자열 필수 사항

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • createdAt 문자열(날짜-시간) 필수 사항
    • preflightChecks 배열[객체]
      preflightChecks 속성 숨기기 preflightChecks 속성 표시 객체
      • 이름 문자열 필수 사항
      • migrationMode 문자열 필수 사항

        값은 SNAPSHOT, CDC 또는 CDC_ONLY입니다.

      • 통과 부울 필수 사항
    • 규칙 배열[객체] 필수 사항
      규칙 속성 숨기기 규칙 속성 표시 객체
      • id 문자열 필수 사항
      • dboType 문자열 필수 사항

        값은 TABLE, VIEW, ROUTINE, INDEX, TRIGGER, DATABASE 또는 COLUMN입니다.

      • 규칙 유형 문자열 필수 사항

        값은 TASK, RISK 또는 NOTICE입니다.

      • 엔터티 이름 문자열 필수 사항
      • detectionText 문자열 필수 사항
      • 어려움 문자열 필수 사항

        값은 HIGH, MEDIUM 또는 LOW입니다.

      • mitigationText 문자열 필수 사항
      • 카테고리 문자열 필수 사항

        값은 DATA_TYPE, UNSUPPORTED_FEATURE, PERFORMANCE 또는 SCHEMA입니다.

      • incompatibleFeatureType 문자열

        값은 ORACLE-PACKAGE, ROUTINE, TRIGGERS 또는 MATERIALIZED-VIEWS입니다.

    • dbMetrics 객체 필수 사항

      추가 속성은 허용되지 않습니다.

      dbMetrics 속성 숨기기 dbMetrics 속성 표시 객체
      • totalDbSize integer(int64) 필수 사항
      • readHeavyTables 배열[객체] 필수 사항
        readHeavyTables 속성 숨기기 readHeavyTables 속성 표시 객체
        • database 문자열 필수 사항
        • 스키마 문자열 필수 사항
        • 이름 문자열 필수 사항
      • writeHeavyTables 배열[객체] 필수 사항
        writeHeavyTables 속성 숨기기 writeHeavyTables 속성 표시 객체
        • database 문자열 필수 사항
        • 스키마 문자열 필수 사항
        • 이름 문자열 필수 사항
      • allTables 배열[객체] 필수 사항
        모든 테이블 속성 숨기기 모든 테이블 속성 표시 객체
        • 경로 객체 필수 사항

          추가 속성은 허용되지 않습니다.

          경로 속성 숨기기 경로 속성 표시 객체
          • database 문자열 필수 사항
          • 스키마 문자열 필수 사항
          • 이름 문자열 필수 사항
        • 데이터 크기 integer(int64) 필수 사항
        • rowCount integer(int64) 필수 사항
        • readCount integer(int64) 필수 사항
        • writeCount integer(int64) 필수 사항
        • readWriteClassification 문자열 필수 사항

          값은 READ_HEAVY, WRITE_HEAVY, READ_AND_WRITE_HEAVY 또는 NONE입니다.

        • 객체 필수 사항
          열 속성 숨기기 열 속성 표시 객체
          • * 객체 additionalProperties

            추가 속성은 허용되지 않습니다.

            * 속성 숨기기 * 속성 표시 객체
            • 유형 객체 필수 사항

              추가 속성은 허용되지 않습니다.

              유형 속성 숨기기 유형 속성 표시 객체
              • defaultMongoFieldType 문자열

                값은 AUTO, STRING, INTEGER, BOOL, DOUBLE, LONG, DECIMAL, ARRAY, DATE, TIMESTAMP, OBJECT, OBJECT_ID, BIN_DATA, MIN_KEY, MAX_KEY, JAVASCRIPT, REGEX 또는 NULL.

              • databaseSpecificType 문자열 필수 사항
              • 정밀도 integer
              • 확장 integer
            • ordinalPosition integer 필수 사항

              최소값은 1입니다.

            • 기본 키 객체

              추가 속성은 허용되지 않습니다.

              프라이머리 키 속성 숨기기 프라이머리 키 속성 표시 객체
              • 이름 문자열 필수 사항
            • foreignKey 객체

              추가 속성은 허용되지 않습니다.

              foreignKey 속성 숨기기 foreignKey 속성 표시 객체
              • 이름 문자열 필수 사항
              • 스키마 문자열
              • 테이블 문자열
              • 문자열
              • 카디널리티 문자열

                값은 UNKNOWN, ZERO_TO_ONE, ONE_TO_ONE 또는 ZERO_TO_MANY입니다.

              • 합성 부울
            • nullable 부울 필수 사항
            • autoIncremented 부울 필수 사항
            • 생성됨 부울 필수 사항
            • 숨김 부울 필수 사항
            • 인덱스된 부울 필수 사항
            • uniqueIndexed 부울 필수 사항
      • allStoredProcedures 배열[객체] 필수 사항
        모든StoredProcedures 속성 숨기기 모든StoredProcedures 속성 표시 객체
        • 경로 객체 필수 사항

          추가 속성은 허용되지 않습니다.

          경로 속성 숨기기 경로 속성 표시 객체
          • database 문자열 필수 사항
          • 스키마 문자열 필수 사항
          • 이름 문자열 필수 사항
        • 정의 문자열 필수 사항
      • allTriggers 배열[객체] 필수 사항
        allTriggers 속성 숨기기 allTriggers 속성 표시 객체
        • 경로 객체 필수 사항

          추가 속성은 허용되지 않습니다.

          경로 속성 숨기기 경로 속성 표시 객체
          • database 문자열 필수 사항
          • 스키마 문자열 필수 사항
          • 이름 문자열 필수 사항
        • 정의 문자열 필수 사항
      • allViews 배열[객체] 필수 사항
        allViews 속성 숨기기 allViews 속성 표시 객체
        • 경로 객체 필수 사항

          추가 속성은 허용되지 않습니다.

          경로 속성 숨기기 경로 속성 표시 객체
          • database 문자열 필수 사항
          • 스키마 문자열 필수 사항
          • 이름 문자열 필수 사항
        • 정의 문자열 필수 사항
    • databaseMetadata 객체 필수 사항
      Hide databaseMetadata attributes databaseMetadata 속성 표시 객체
      • databaseVersion 문자열
      • connectionId 문자열 필수 사항
      • connectionName 문자열
      • connectionUrl 문자열
      • databaseType 문자열 필수 사항
      • connectionType 문자열

        값은 DEMO, QA, STAGING, DEVELOPMENT, PRODUCTION 또는 NONE입니다.

    • healthScore 숫자 필수 사항
    • resolveRules array[string] 필수 사항
    • 테이크아웃 배열[객체] 필수 사항
      테이크아웃 속성 숨기기 테이크아웃 속성 표시 객체
      • 유형 문자열 필수 사항

        값은 DATA_TYPE, UNSUPPORTED_FEATURE, PERFORMANCE 또는 SCHEMA입니다.

      • value 숫자 필수 사항
    • uniqueDboAlerts 객체 필수 사항

      추가 속성은 허용되지 않습니다.

      uniqueDboAlert 속성 숨기기 uniqueDboAlerts 속성 표시 객체
      • 작업 integer 필수 사항
      • 위험 integer 필수 사항
      • notice integer 필수 사항
      • none integer 필수 사항
    • searchCountsByDboType 객체 필수 사항
      searchCountsByDboType 속성 숨기기 searchCountsByDboType 속성 표시 객체
      • * 객체 additionalProperties

        추가 속성은 허용되지 않습니다.

        * 속성 숨기기 * 속성 표시 객체
        • SeverityCountsByDetectionCategory 객체
          SeverityCountsByDetectionCategory 속성 숨기기 SeverityCountsByDetectionCategory 속성 표시 객체
          • * 객체

            추가 속성은 허용되지 않습니다.

            * 속성 숨기기 * 속성 표시 객체
            • 작업 integer 필수 사항
            • 위험 integer 필수 사항
            • notice integer 필수 사항
            • none integer 필수 사항
    • errors array[string]
  • 404 application/json

    찾을 수 없습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • jobId 문자열

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • 메시지 문자열 필수 사항
    • description 문자열
    • timestamp 문자열(날짜-시간) 필수 사항
GET /analysis/{projectId}/report
curl \
 --request GET 'http://127.0.0.1:8278/api/v1/analysis/{projectId}/report'
응답 예시(200)
{
  "id": "string",
  "projectId": "string",
  "generatedAt": "2025-05-04T09:42:00Z",
  "preflightChecks": [
    {
      "name": "string",
      "migrationMode": "SNAPSHOT",
      "passed": true
    }
  ],
  "rules": [
    {
      "id": "string",
      "dboType": "TABLE",
      "ruleType": "TASK",
      "entityName": "string",
      "detectionText": "string",
      "difficulty": "HIGH",
      "mitigationText": "string",
      "category": "DATA_TYPE",
      "incompatibleFeatureType": "ORACLE-PACKAGE"
    }
  ],
  "dbMetrics": {
    "totalDbSize": 42,
    "readHeavyTables": [
      {
        "database": "string",
        "schema": "string",
        "name": "string"
      }
    ],
    "writeHeavyTables": [
      {
        "database": "string",
        "schema": "string",
        "name": "string"
      }
    ],
    "allTables": [
      {
        "path": {
          "database": "string",
          "schema": "string",
          "name": "string"
        },
        "dataSize": 42,
        "rowCount": 42,
        "readCount": 42,
        "writeCount": 42,
        "readWriteClassification": "READ_HEAVY",
        "columns": {
          "additionalProperty1": {
            "type": {
              "defaultMongoFieldType": "AUTO",
              "databaseSpecificType": "string",
              "precision": 42,
              "scale": 42
            },
            "ordinalPosition": 42,
            "primaryKey": {
              "name": "string"
            },
            "foreignKey": {
              "name": "string",
              "schema": "string",
              "table": "string",
              "column": "string",
              "cardinality": "UNKNOWN",
              "synthetic": true
            },
            "nullable": true,
            "autoIncremented": true,
            "generated": true,
            "hidden": true,
            "indexed": true,
            "uniqueIndexed": true
          },
          "additionalProperty2": {
            "type": {
              "defaultMongoFieldType": "AUTO",
              "databaseSpecificType": "string",
              "precision": 42,
              "scale": 42
            },
            "ordinalPosition": 42,
            "primaryKey": {
              "name": "string"
            },
            "foreignKey": {
              "name": "string",
              "schema": "string",
              "table": "string",
              "column": "string",
              "cardinality": "UNKNOWN",
              "synthetic": true
            },
            "nullable": true,
            "autoIncremented": true,
            "generated": true,
            "hidden": true,
            "indexed": true,
            "uniqueIndexed": true
          }
        }
      }
    ],
    "allStoredProcedures": [
      {
        "path": {
          "database": "string",
          "schema": "string",
          "name": "string"
        },
        "definition": "string"
      }
    ],
    "allTriggers": [
      {
        "path": {
          "database": "string",
          "schema": "string",
          "name": "string"
        },
        "definition": "string"
      }
    ],
    "allViews": [
      {
        "path": {
          "database": "string",
          "schema": "string",
          "name": "string"
        },
        "definition": "string"
      }
    ]
  },
  "databaseMetadata": {
    "databaseVersion": "string",
    "connectionId": "string",
    "connectionName": "string",
    "connectionUrl": "string",
    "databaseType": "string",
    "connectionType": "DEMO"
  },
  "healthScore": 42.0,
  "resolvedRules": [
    "string"
  ],
  "takeaways": [
    {
      "type": "DATA_TYPE",
      "value": 42.0
    }
  ],
  "uniqueDboAlerts": {
    "task": 42,
    "risk": 42,
    "notice": 42,
    "none": 42
  },
  "detectionCountsByDboType": {
    "additionalProperty1": {
      "severityCountsByDetectionCategory": {
        "*": {
          "task": 42,
          "risk": 42,
          "notice": 42,
          "none": 42
        }
      }
    },
    "additionalProperty2": {
      "severityCountsByDetectionCategory": {
        "*": {
          "task": 42,
          "risk": 42,
          "notice": 42,
          "none": 42
        }
      }
    }
  },
  "errors": [
    "string"
  ]
}
응답 예시(404)
{
  "jobId": "string",
  "message": "string",
  "description": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}