

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# DMS Schema Conversion の変換ルール
<a name="sc-transformation-rules"></a>

*変換ルール*を使用すると、DMS Schema Conversion がデータベースオブジェクトを変換する方法をカスタマイズし、デフォルトの命名とデータ型マッピングを上書きできます。これらのルールは、データベース、スキーマ、テーブル、ビュー、列、関数戻り値、ルーチンパラメータ、ローカル変数に適用できます。

例えば、`test_TABLE_NAME` という名前のソーススキーマにテーブルがあるとします。ターゲットスキーマ内にある プレフィックス `test_` をプレフィックス `demo_` に変更するルールを設定できます。

変換ルールを作成して、次のとおりのタスクを実行できます。
+ プレフィックスの追加、削除、または置換
+ サフィックスの追加、削除、または置換
+ 列、関数戻り値、ルーチンパラメータ、またはローカル変数のデータ型を変更する
+ オブジェクト名を小文字または大文字に変換する
+ オブジェクトの名前を変更する

## 変換ルールの作成
<a name="sc-transformation-rules-create"></a>

移行プロジェクトの一環として、DMS Schema Conversion は変換ルールを保存します。変換ルールを定義するには、移行プロジェクトを作成または変更するときに、それらを`rules`配列を持つオブジェクトを含む JSON 文字列として渡します。配列内の各要素は、個別のルールオブジェクトを表します。移行プロジェクトは、最大 512 の変換ルール (最大 128 KB) をサポートします。

変換ルールを含む配列の構造は次のとおりです。

```
{
  "rules": [
    {
      {{Rule object 1}}
    },
    {
      {{Rule object 2}}
    },
    ...
    {
      {{Rule object N}}
    }
  ]
}
```

プロジェクトには複数の変換ルールを追加できます。DMS Schema Conversion は変換中に、変換ルールが追加された順番通りにルールを適用します。

複数のルールが同じオブジェクトを対象とする場合、動作はアクションタイプによって異なります。アクションタイプが異なるルールはすべて有効になります。たとえば、 `add-prefix`ルールと `add-suffix`ルールの両方が適用されます。同じアクションタイプのルールは互いに上書きされ、最後のアクションタイプのみが有効になります。

変換ルールを作成するには、次のいずれかの方法を使用します。

------
#### [ AWS Management Console ]

**コンソールを使用して変換ルールを作成するには**

1. **[移行プロジェクトの作成]** ページで、**[変換ルールの追加]** をクリックします。詳細については、「[ 移行プロジェクトの作成](migration-projects-create.md)」を参照してください。

1. **ルールターゲット**で、このルールが適用されるデータベースオブジェクトのタイプを選択します。コンソールウィザードは、`schema`、`table`、および `column`ターゲットをサポートします。`database` や などの他のターゲットを使用するには`view`、コンソールまたは CLI で JSON AWS エディタを使用します。

1. **[ソーススキーマ]** では、**[スキーマの入力]** を選択します。次に、このルールが適用されるソーススキーマ、テーブル、列を指定します。正確な名前を使用して 1 つのオブジェクトを選択するか、パーセント記号 (%) のパターンをワイルドカードとして使用して任意の文字数に一致させることができます。

1. **[アクション]** では、実行するタスクを選択します。

1. ルールアクションに応じて、追加の値を入力します。
   + `add-prefix` または `add-suffix` – 追加するテキストを入力します。
   + `remove-prefix` または `remove-suffix` – 削除するテキストを入力します。
   + `replace-prefix` または `replace-suffix` – 既存のテキストと置換テキストを入力します。
   + `rename` – オブジェクトの新しい名前を入力します。
   + `convert-uppercase` または `convert-lowercase` – 追加の値は必要ありません。
   + `change-data-type` – ターゲットデータ型名を入力し、必要に応じて精度、スケール、または長さを入力します。

1. **[変換ルールの追加]** をクリックすると、別の変換ルールを追加できます。

   ルールの追加が完了したら、**[移行プロジェクトを作成]** をクリックします。

------
#### [ AWS CLI ]

CLI を使用して変換ルールを追加するには、次のいずれかのコマンドで AWS `--transformation-rules`パラメータを使用します。
+ [create-migration-project](https://docs.aws.amazon.com/cli/latest/reference/dms/create-migration-project.html) – 新しい移行プロジェクトを作成する場合。
+ [modify-migration-project](https://docs.aws.amazon.com/cli/latest/reference/dms/modify-migration-project.html) – 既存の移行プロジェクト用。

次の例では、既存の移行プロジェクトに変換ルールを追加します。

```
aws dms modify-migration-project \
  --migration-project-identifier {{migration_project_arn}} \
  --transformation-rules '{{json_rules}}'
```

特定の AWS リージョンでこのコマンドを実行するには、 などの `--region`パラメータを追加します`--region us-west-2`。

------

既存の変換ルールを編集、複製、または削除するには、「」を参照してください[変換ルールの編集](#sc-transformation-rules-edit)。

## 変換ルールの取得
<a name="sc-transformation-rules-obtain"></a>

 AWS マネジメントコンソールまたは AWS CLI を使用して、既存の DMS Schema Conversion 移行プロジェクトから変換ルールを取得できます。

------
#### [ AWS Management Console ]

 AWS マネジメントコンソールを使用して変換ルールを表示するには、既存の移行プロジェクト**で変更**を選択し、変換ルールセクションの既存の**ルール**のリストを確認します。

------
#### [ AWS CLI ]

既存の DMS Schema Conversion 移行プロジェクトから変換ルールを取得するには、[describe-migration-projects](https://docs.aws.amazon.com/cli/latest/reference/dms/describe-migration-projects.html) コマンドを使用します。レスポンスは JSON 形式を使用し、プロジェクトに関連付けられた変換ルールが含まれます。

次の CLI AWS の例では、移行プロジェクトから変換ルールを取得します。

```
aws dms describe-migration-projects \
  --filters Name=migration-project-identifier,Values={{migration_project_arn}}
```

------

## 変換ルールの編集
<a name="sc-transformation-rules-edit"></a>

移行プロジェクトの変換ルールを編集、追加、または削除するには、次のいずれかの方法を使用します。

------
#### [ AWS Management Console ]

**変換ルールを編集するには**

1. **[移行プロジェクト]** を選択して、編集する移行プロジェクトを選択します。

1. **変更**を選択して移行プロジェクト設定を編集します。

1. **[変換ルール]** で、次のいずれかのアクションを選択します。
   + **変換ルールの追加** を選択して、新しい変換ルールを追加します。
   + **重複** を選択して既存の変換ルールを複製し、リストの最後に追加します。
   + 既存の変換ルールを削除するには、**[削除]** を選択する。
   + 編集するには、既存の変換ルールを選択する。

1. ルールの編集を完了した後、**[変更を保存]** を選択します。

------
#### [ AWS CLI ]

 AWS CLI を使用して変換ルールを更新するには、 `--transformation-rules`パラメータを指定して [modify-migration-project](https://docs.aws.amazon.com/cli/latest/reference/dms/modify-migration-project.html) コマンドを使用します。更新されたルールの完全なセットを JSON 文字列として渡します。

```
aws dms modify-migration-project \
  --migration-project-identifier {{migration_project_arn}} \
  --transformation-rules '{{json_rules}}'
```

------

## 変換ルールの形式
<a name="sc-transformation-rules-format"></a>

変換ルールは JSON オブジェクトフィールドを使用して、ソースオブジェクトを同等のターゲットに変換する方法を定義します。各ルールタイプは、特定のフィールドのセットを使用します。タスクに適用されるフィールドのみを含めます。

次の JSON オブジェクトは、DMS Schema Conversion 変換ルールを記述します。

```
{
  "rule-type": "transformation",
  "rule-id": {{rule_id}},
  "rule-name": "{{rule_name}}",
  "rule-action": "{{rule_action}}",
  "rule-target": "{{rule_target}}",
  "object-locator": {
    [ "database-name": "{{database_name}}", ]
    [ "schema-name": "{{schema_name}}", ]
    [ "table-name": "{{table_name}}", ]
    [ "column-name": "{{column_name}}", ]
    [ "parent": "{{parent_name}}", ]
    [ "function-name": "{{function_name}}", ]
    [ "procedure-name": "{{procedure_name}}", ]
    [ "parameter-name": "{{parameter_name}}", ]
    [ "local-variable-name": "{{local_variable_name}}", ]
    [ "type": "{{source_data_type}}", ]
    [ "precision": {{source_precision}}, ]
    [ "scale": {{source_scale}}, ]
    [ "length": {{source_length}} ]
  },
  [ "value": "{{rule_value}}", ]
  [ "old-value": "{{rule_old_value}}", ]
  [ "data-type": {
    "type": "{{data_type_name}}",
    [ "precision": {{data_type_precision}}, ]
    [ "scale": {{data_type_scale}}, ]
    [ "length": {{data_type_length}} ]
  } ]
}
```

次の表に、各パラメータを示します。


| パラメータ | 使用できる値: | 説明 | 
| --- | --- | --- | 
| rule-type | transformation | オブジェクトロケーターで指定された各オブジェクトにルールを適用する値。<br />すべての変換ルールで、これを に設定します`transformation`。<br />必須パラメータ。 | 
| rule-id | 数値 (整数）。 | ルールを識別する一意の数値。<br />必須パラメータ。 | 
| rule-name | 英数字値。 | ルールを特定する一意な名前。<br />必須パラメータ。 | 
| rule-action | add-prefix, remove-prefix, replace-prefix, add-suffix, remove-suffix, replace-suffix, convert-uppercase, convert-lowercase, rename, change-data-type | オブジェクトに適用する変換。すべて変換ルールアクションでは、大文字と小文字が区別されます。<br />プレフィックスオペレーション:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />サフィックスオペレーション:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />ケース変換:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />直接変更:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />スコープ: プレフィックス、サフィックス、名前変更、大文字と小文字の変換オペレーションをスキーマ、テーブル、列に適用できます。<br />`change-data-type` オペレーションは、列、関数戻り値、ルーチンパラメータ、ローカル変数にのみ適用されます。<br />必須パラメータ。 | 
| rule-target | database, schema, table, view, column, function result, routine parameter, local variable | ルールが適用されるオブジェクトのタイプ。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />必須パラメータ。 | 
| object-locator | JSON オブジェクト。 | ルールが適用されるソースデータベースオブジェクトを識別するオブジェクト。パーセント記号 (`%`) は、各`object-locator`オブジェクトフィールドの値の全部または一部のワイルドカードとして使用できます。<br />オブジェクトには、次の文字列フィールドが含まれます。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />変換ルールでは、テーブル名や列名など、すべてのオブジェクト名で大文字と小文字が区別されます。<br />以下のセクションでは、各オブジェクトフィールドについて説明します。<br />必須パラメータ。 | 
| object-locator \| database-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベースの名前。<br />データベースアーキテクチャがオブジェクトの最上位コンテナとしてデータベースから発信されるデータベースベンダーに適用されます。例: Microsoft SQL Server、SAP ASE。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| schema-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベーススキーマの名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| table-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベーステーブルの名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| column-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベーステーブル列の名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| parent | ソースデータベースの命名規則に従う英数字の値。 | または など、指定されたオブジェクトの親であるソースデータベースオブジェクトの名前`function-name``procedure-name`。<br />一部のベンダーのデータベースでは、ルールが適用されるオブジェクトが下位であり、親の指定が必要になる場合があります。<br />たとえば、Oracle のパッケージ化された関数です。親はパッケージ名です。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| function-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベース関数の名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| procedure-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベースプロシージャの名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| parameter-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベース関数またはプロシージャパラメータの名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| local-variable-name | ソースデータベースの命名規則に従う英数字の値。 | ソースデータベース関数またはプロシージャ内のローカル変数の名前。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| type | 英数字値。 | 一致するソースデータ型名。このフィールドを使用して、特定のデータ型のオブジェクトにのみルールを適用します。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| precision | 数値 (整数）。 | 一致するソースデータ型の精度。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| scale | 数値 (整数）。 | 一致するソースデータ型のスケール。<br />オプションの JSON オブジェクトフィールド。 | 
| object-locator \| length | 数値 (整数）。 | 一致するソースデータ型の長さ。<br />オプションの JSON オブジェクトフィールド。 | 
| value | ターゲットデータベースの命名規則に従う英数字の値。 | 変換アクションで使用されるテキスト値。`add-prefix` および の場合`add-suffix`、追加するテキストを指定します。`remove-prefix` と の場合`remove-suffix`、削除するテキストを指定します。`replace-prefix` と では`replace-suffix`、置換テキストを指定します。では`rename`、新しい名前を指定します。<br />`convert-uppercase`、、`convert-lowercase`および を除くすべてのアクションに必要です`change-data-type`。 | 
| old-value | ソースデータベースの命名規則に従う英数字の値。 | オブジェクト名で検索して置き換える既存の値。`replace-prefix` や などのアクションに必要です`replace-suffix`。<br />オプションのパラメータ。 | 
| data-type | JSON オブジェクト。 | `rule-action` が の場合に置換データ型のプロパティを記述するオブジェクト`change-data-type`。<br /> オブジェクトには、以下のフィールドが含まれています。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/sc-transformation-rules.html)<br />以下のセクションでは、各オブジェクトフィールドについて説明します。<br />オプションのパラメータ。 | 
| data-type \| type | 英数字値。 | `rule-action` が の場合、ターゲットデータベース列の置き換えデータ型の名前`change-data-type`。有効なターゲットデータベースデータ型である必要があります。<br />必須の JSON オブジェクトフィールド。 | 
| data-type \| precision | 数値 (整数）。 | が の場合のターゲットデータベースの置換データ型の精度`rule-action``change-data-type`。<br />オプションの JSON オブジェクトフィールド。 | 
| data-type \| scale | 数値 (整数）。 | `rule-action` が の場合、ターゲットデータベースの置き換えデータ型のスケール`change-data-type`。<br />オプションの JSON オブジェクトフィールド。 | 
| data-type \| length | 数値 (整数）。 | `rule-action` が の場合、ターゲットデータベースの置き換えデータ型の長さ`change-data-type`。<br />オプションの JSON オブジェクトフィールド。 | 

## 変換ルールの例
<a name="sc-transformation-rules-examples"></a>

次の例は、さまざまなルールタイプの `--transformation-rules`パラメータの JSON 値を示しています。

### プレフィックスの追加
<a name="sc-transformation-rules-examples-add-prefix"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ `DW_`にプレフィックス を追加します`SALES`。
+ スキーマ `ORDERS`のテーブル`FACT_`にプレフィックスを追加します`SALES`。
+ スキーマ `UNIT_PRICE`のテーブル `PRODUCTS` の列`OLD_`にプレフィックスを追加します`SALES`。

```
{
  "rules": [
    {
      "rule-id": 5,
      "rule-type": "transformation",
      "rule-name": "add-prefix-schema-sales",
      "rule-action": "add-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "SALES"
      },
      "value": "DW_"
    },
    {
      "rule-id": 12,
      "rule-type": "transformation",
      "rule-name": "add-prefix-table-orders",
      "rule-action": "add-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "SALES",
        "table-name": "ORDERS"
      },
      "value": "FACT_"
    },
    {
      "rule-id": 27,
      "rule-type": "transformation",
      "rule-name": "add-prefix-column-unit-price",
      "rule-action": "add-prefix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "SALES",
        "table-name": "PRODUCTS",
        "column-name": "UNIT_PRICE"
      },
      "value": "OLD_"
    }
  ]
}
```

### プレフィックスを削除する
<a name="sc-transformation-rules-examples-remove-prefix"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ `SRC_`からプレフィックス を削除します`SRC_FINANCE`。
+ スキーマ `TMP_INVOICES`のテーブル`TMP_`からプレフィックスを削除します`SRC_FINANCE`。
+ スキーマ `PAID_AMOUNT` のテーブル `TMP_PAYMENTS`の列`PAID_`からプレフィックスを削除します`SRC_FINANCE`。

```
{
  "rules": [
    {
      "rule-id": 3,
      "rule-type": "transformation",
      "rule-name": "remove-prefix-schema-src-finance",
      "rule-action": "remove-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "SRC_FINANCE"
      },
      "value": "SRC_"
    },
    {
      "rule-id": 18,
      "rule-type": "transformation",
      "rule-name": "remove-prefix-table-tmp-invoices",
      "rule-action": "remove-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "SRC_FINANCE",
        "table-name": "TMP_INVOICES"
      },
      "value": "TMP_"
    },
    {
      "rule-id": 41,
      "rule-type": "transformation",
      "rule-name": "remove-prefix-column-paid-amount",
      "rule-action": "remove-prefix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "SRC_FINANCE",
        "table-name": "TMP_PAYMENTS",
        "column-name": "PAID_AMOUNT"
      },
      "value": "PAID_"
    }
  ]
}
```

### プレフィックスの置き換え
<a name="sc-transformation-rules-examples-replace-prefix"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ `NEW_` でプレフィックス `OLD_`を に置き換えます`OLD_INVENTORY`。
+ スキーマ `INT_` のテーブルでプレフィックス `STG_WAREHOUSES`を `STG_`に置き換えます`OLD_INVENTORY`。
+ スキーマ のテーブル`TGT_`の列`SRC_WAREHOUSE_CODE`のプレフィックス `SRC_`を `STG_WAREHOUSES`に置き換えます`OLD_INVENTORY`。

```
{
  "rules": [
    {
      "rule-id": 7,
      "rule-type": "transformation",
      "rule-name": "replace-prefix-schema-old-inventory",
      "rule-action": "replace-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "OLD_INVENTORY"
      },
      "value": "NEW_",
      "old-value": "OLD_"
    },
    {
      "rule-id": 22,
      "rule-type": "transformation",
      "rule-name": "replace-prefix-table-stg-warehouses",
      "rule-action": "replace-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "OLD_INVENTORY",
        "table-name": "STG_WAREHOUSES"
      },
      "value": "INT_",
      "old-value": "STG_"
    },
    {
      "rule-id": 35,
      "rule-type": "transformation",
      "rule-name": "replace-prefix-column-src-warehouse-code",
      "rule-action": "replace-prefix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "OLD_INVENTORY",
        "table-name": "STG_WAREHOUSES",
        "column-name": "SRC_WAREHOUSE_CODE"
      },
      "value": "TGT_",
      "old-value": "SRC_"
    }
  ]
}
```

### サフィックスを追加する
<a name="sc-transformation-rules-examples-add-suffix"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ `_HIST`にサフィックスを追加します`HR_ARCHIVE`。
+ スキーマ `JOB_CHANGES`のテーブル`_HIST`にサフィックスを追加します`HR_ARCHIVE`。
+ スキーマ `CREATED_AT`のテーブルの`_TS`列`EMPLOYEE_SALARIES`にサフィックスを追加します`HR_ARCHIVE`。

```
{
  "rules": [
    {
      "rule-id": 9,
      "rule-type": "transformation",
      "rule-name": "add-suffix-schema-hr-archive",
      "rule-action": "add-suffix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "HR_ARCHIVE"
      },
      "value": "_HIST"
    },
    {
      "rule-id": 16,
      "rule-type": "transformation",
      "rule-name": "add-suffix-table-job-changes",
      "rule-action": "add-suffix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "HR_ARCHIVE",
        "table-name": "JOB_CHANGES"
      },
      "value": "_HIST"
    },
    {
      "rule-id": 44,
      "rule-type": "transformation",
      "rule-name": "add-suffix-column-created-at",
      "rule-action": "add-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "HR_ARCHIVE",
        "table-name": "EMPLOYEE_SALARIES",
        "column-name": "CREATED_AT"
      },
      "value": "_TS"
    }
  ]
}
```

### サフィックスの削除
<a name="sc-transformation-rules-examples-remove-suffix"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ `_FILES`からサフィックスを削除します`LEGAL_FILES`。
+ スキーマ `CLAUSES_V1`のテーブル`_V1`からサフィックスを削除します`LEGAL_FILES`。
+ スキーマ `COUNTRY_CODE`のテーブル `CONTRACTS_V1` の列`_CODE`からサフィックスを削除します`LEGAL_FILES`。

```
{
  "rules": [
    {
      "rule-id": 6,
      "rule-type": "transformation",
      "rule-name": "remove-suffix-schema-legal-files",
      "rule-action": "remove-suffix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "LEGAL_FILES"
      },
      "value": "_FILES"
    },
    {
      "rule-id": 14,
      "rule-type": "transformation",
      "rule-name": "remove-suffix-table-clauses-v1",
      "rule-action": "remove-suffix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "LEGAL_FILES",
        "table-name": "CLAUSES_V1"
      },
      "value": "_V1"
    },
    {
      "rule-id": 31,
      "rule-type": "transformation",
      "rule-name": "remove-suffix-column-country-code",
      "rule-action": "remove-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "LEGAL_FILES",
        "table-name": "CONTRACTS_V1",
        "column-name": "COUNTRY_CODE"
      },
      "value": "_CODE"
    }
  ]
}
```

### サフィックスを置き換える
<a name="sc-transformation-rules-examples-replace-suffix"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ `_PROD`のサフィックスを `_DEV`に置き換えます`REPORTING_DEV`。
+ スキーマ `_RPT``_REPORT`のテーブルのサフィックスを `MONTHLY_RPT`に置き換えます`REPORTING_DEV`。
+ スキーマ `_ID`のテーブル`_KEY`の列`CUSTOMER_ID`のサフィックスを `MONTHLY_RPT`に置き換えます`REPORTING_DEV`。

```
{
  "rules": [
    {
      "rule-id": 8,
      "rule-type": "transformation",
      "rule-name": "replace-suffix-schema-reporting-dev",
      "rule-action": "replace-suffix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "REPORTING_DEV"
      },
      "value": "_PROD",
      "old-value": "_DEV"
    },
    {
      "rule-id": 23,
      "rule-type": "transformation",
      "rule-name": "replace-suffix-table-monthly-rpt",
      "rule-action": "replace-suffix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "REPORTING_DEV",
        "table-name": "MONTHLY_RPT"
      },
      "value": "_REPORT",
      "old-value": "_RPT"
    },
    {
      "rule-id": 47,
      "rule-type": "transformation",
      "rule-name": "replace-suffix-column-customer-id",
      "rule-action": "replace-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "REPORTING_DEV",
        "table-name": "MONTHLY_RPT",
        "column-name": "CUSTOMER_ID"
      },
      "value": "_KEY",
      "old-value": "_ID"
    }
  ]
}
```

### 大文字への変換
<a name="sc-transformation-rules-examples-uppercase"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマの名前のすべての文字を大文字に変換`CRM_LEGACY`します。
+ `CUSTOMER_ACCOUNTS` スキーマのテーブル名内のすべての文字`CRM_LEGACY`を大文字に変換します。
+ `CUSTOMER_ACCOUNTS` スキーマのテーブル`FIRST_NAME`の列の名前のすべての文字`CRM_LEGACY`を大文字に変換します。

```
{
  "rules": [
    {
      "rule-id": 4,
      "rule-type": "transformation",
      "rule-name": "convert-uppercase-schema-crm-legacy",
      "rule-action": "convert-uppercase",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "CRM_LEGACY"
      }
    },
    {
      "rule-id": 19,
      "rule-type": "transformation",
      "rule-name": "convert-uppercase-table-customer-accounts",
      "rule-action": "convert-uppercase",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "CRM_LEGACY",
        "table-name": "CUSTOMER_ACCOUNTS"
      }
    },
    {
      "rule-id": 36,
      "rule-type": "transformation",
      "rule-name": "convert-uppercase-column-first-name",
      "rule-action": "convert-uppercase",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "CRM_LEGACY",
        "table-name": "CUSTOMER_ACCOUNTS",
        "column-name": "FIRST_NAME"
      }
    }
  ]
}
```

### [Convert to lowercase] (小文字に変換)
<a name="sc-transformation-rules-examples-lowercase"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマの名前のすべての文字を小文字に変換`LOGISTICS`します。
+ `SHIPMENT_ORDERS` スキーマのテーブル名内のすべての文字`LOGISTICS`を小文字に変換します。
+ `SHIPMENT_ORDERS` スキーマのテーブル`DESTINATION_CITY`の列名内のすべての文字`LOGISTICS`を小文字に変換します。

```
{
  "rules": [
    {
      "rule-id": 11,
      "rule-type": "transformation",
      "rule-name": "convert-lowercase-schema-logistics",
      "rule-action": "convert-lowercase",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "LOGISTICS"
      }
    },
    {
      "rule-id": 25,
      "rule-type": "transformation",
      "rule-name": "convert-lowercase-table-shipment-orders",
      "rule-action": "convert-lowercase",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "LOGISTICS",
        "table-name": "SHIPMENT_ORDERS"
      }
    },
    {
      "rule-id": 52,
      "rule-type": "transformation",
      "rule-name": "convert-lowercase-column-destination-city",
      "rule-action": "convert-lowercase",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "LOGISTICS",
        "table-name": "SHIPMENT_ORDERS",
        "column-name": "DESTINATION_CITY"
      }
    }
  ]
}
```

### 名前を変更
<a name="sc-transformation-rules-examples-rename"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマの名前`TEST_SCHEMA`を に変更します`TEST_NEW_SCHEMA`。
+ スキーマ`REGIONS`のテーブルの名前`HR`を に変更します`ORG_REGIONS`。
+ スキーマ`CITY`のテーブル`LOCATIONS`の列の名前`HR`を に変更します`ORG_CITY_NAME`。

```
{
  "rules": [
    {
      "rule-id": 2,
      "rule-type": "transformation",
      "rule-name": "rename-schema-test-schema",
      "rule-action": "rename",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "TEST_SCHEMA"
      },
      "value": "TEST_NEW_SCHEMA"
    },
    {
      "rule-id": 15,
      "rule-type": "transformation",
      "rule-name": "rename-table-hr-regions",
      "rule-action": "rename",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "HR",
        "table-name": "REGIONS"
      },
      "value": "ORG_REGIONS"
    },
    {
      "rule-id": 38,
      "rule-type": "transformation",
      "rule-name": "rename-column-hr-locations-city",
      "rule-action": "rename",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "HR",
        "table-name": "LOCATIONS",
        "column-name": "CITY"
      },
      "value": "ORG_CITY_NAME"
    }
  ]
}
```

### Change column data type
<a name="sc-transformation-rules-examples-change-data-type-columns"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ `EMPLOYEES` スキーマ`SALARY`のテーブルの列のデータ型を、精度 18 とスケール 4 `DECIMAL`で `PAYROLL` `NUMBER`から に変更します。
+ スキーマ`NOTES`のテーブルの列のデータ型`EMPLOYEES`を、長さ 350 `VARCHAR`の `PAYROLL` `VARCHAR2`から に変更します。
+ スキーマのテーブル`HIRE_DATE`の列のデータ型`EMPLOYEES`を、精度 3 `TIMESTAMP WITH TIME ZONE`で `PAYROLL` から `DATE`に変更します。

```
{
  "rules": [
    {
      "rule-id": 10,
      "rule-type": "transformation",
      "rule-name": "change-datatype-column-salary",
      "rule-action": "change-data-type",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "PAYROLL",
        "table-name": "EMPLOYEES",
        "column-name": "SALARY"
      },
      "data-type": {
        "type": "DECIMAL",
        "precision": 18,
        "scale": 4
      }
    },
    {
      "rule-id": 29,
      "rule-type": "transformation",
      "rule-name": "change-datatype-column-notes",
      "rule-action": "change-data-type",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "PAYROLL",
        "table-name": "EMPLOYEES",
        "column-name": "NOTES"
      },
      "data-type": {
        "type": "VARCHAR",
        "length": 350
      }
    },
    {
      "rule-id": 56,
      "rule-type": "transformation",
      "rule-name": "change-datatype-column-hire-date",
      "rule-action": "change-data-type",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "PAYROLL",
        "table-name": "EMPLOYEES",
        "column-name": "HIRE_DATE"
      },
      "data-type": {
        "type": "TIMESTAMP WITH TIME ZONE",
        "precision": 3
      }
    }
  ]
}
```

### パラメータと変数のデータ型を変更する
<a name="sc-transformation-rules-examples-change-data-type-params"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ`P_AMOUNT`のストアドプロシージャ`PROCESS_PAYMENT`の パラメータのデータ型を `FINANCE`に変更します`NUMERIC`。
+ `PROCESS_PAYMENT` スキーマのストアドプロシージャ`V_TAX_RATE`のローカル変数のデータ型`FINANCE`を、精度 10 とスケール 6 `NUMERIC`で に変更します。
+ スキーマのスタンドアロン関数`V_DESCRIPTION`のローカル変数のデータ型`CALC_DISCOUNT`を、長さ 150 `CHARACTER`の `FINANCE` に変更します。

```
{
  "rules": [
    {
      "rule-id": 7,
      "rule-type": "transformation",
      "rule-name": "change-datatype-param-p-amount",
      "rule-action": "change-data-type",
      "rule-target": "routine parameter",
      "object-locator": {
        "schema-name": "FINANCE",
        "procedure-name": "PROCESS_PAYMENT",
        "parameter-name": "P_AMOUNT"
      },
      "data-type": {
        "type": "NUMERIC"
      }
    },
    {
      "rule-id": 21,
      "rule-type": "transformation",
      "rule-name": "change-datatype-localvar-v-tax-rate",
      "rule-action": "change-data-type",
      "rule-target": "local variable",
      "object-locator": {
        "schema-name": "FINANCE",
        "procedure-name": "PROCESS_PAYMENT",
        "local-variable-name": "V_TAX_RATE"
      },
      "data-type": {
        "type": "NUMERIC",
        "precision": 10,
        "scale": 6
      }
    },
    {
      "rule-id": 43,
      "rule-type": "transformation",
      "rule-name": "change-datatype-localvar-v-description",
      "rule-action": "change-data-type",
      "rule-target": "local variable",
      "object-locator": {
        "schema-name": "FINANCE",
        "function-name": "CALC_DISCOUNT",
        "local-variable-name": "V_DESCRIPTION"
      },
      "data-type": {
        "type": "CHARACTER",
        "length": 150
      }
    }
  ]
}
```

### 変更関数の戻りデータ型
<a name="sc-transformation-rules-examples-change-data-type-return"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ スキーマ`GET_PRODUCT_PRICE`のスタンドアロン関数の戻りデータ型を `FNG_COMPANY`に変更します`BIGINT`。
+ スキーマ`CALC_DISCOUNTED_PRICE`のスタンドアロン関数の戻りデータ型を `FNG_COMPANY`に変更します`DECIMAL`。
+ スキーマ`TAX_UTILS`のパッケージ`CALCULATE_TAX`内のパッケージ化された関数の戻りデータ型`FNG_COMPANY`を に変更します`REAL`。

```
{
  "rules": [
    {
      "rule-id": 13,
      "rule-type": "transformation",
      "rule-name": "change-result-type-get-product-price",
      "rule-action": "change-data-type",
      "rule-target": "function result",
      "object-locator": {
        "schema-name": "FNG_COMPANY",
        "function-name": "GET_PRODUCT_PRICE"
      },
      "data-type": {
        "type": "BIGINT"
      }
    },
    {
      "rule-id": 28,
      "rule-type": "transformation",
      "rule-name": "change-result-calc-discounted-price",
      "rule-action": "change-data-type",
      "rule-target": "function result",
      "object-locator": {
        "schema-name": "FNG_COMPANY",
        "function-name": "CALC_DISCOUNTED_PRICE"
      },
      "data-type": {
        "type": "DECIMAL"
      }
    },
    {
      "rule-id": 61,
      "rule-type": "transformation",
      "rule-name": "change-result-type-calculate-tax",
      "rule-action": "change-data-type",
      "rule-target": "function result",
      "object-locator": {
        "schema-name": "FNG_COMPANY",
        "parent": "TAX_UTILS",
        "function-name": "CALCULATE_TAX"
      },
      "data-type": {
        "type": "REAL"
      }
    }
  ]
}
```

### ワイルドカードパターン
<a name="sc-transformation-rules-examples-wildcard"></a>

次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
+ 名前が で始まるすべてのスキーマ`MIGR_`にプレフィックスを追加します`STG_`。
+ 名前が で始まるすべてのスキーマのすべてのテーブル`MIGR_`にプレフィックスを追加します`STG_`。
+ 名前が で始まるすべてのスキーマのすべてのテーブル`SRC_`で、名前が で始まるすべての列`_NEW`にサフィックスを追加します`STG_`。

```
{
  "rules": [
    {
      "rule-id": 8,
      "rule-type": "transformation",
      "rule-name": "add-prefix-schemas-starting-with-stg",
      "rule-action": "add-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "STG_%"
      },
      "value": "MIGR_"
    },
    {
      "rule-id": 33,
      "rule-type": "transformation",
      "rule-name": "add-prefix-all-tables-in-stg-schemas",
      "rule-action": "add-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "STG_%",
        "table-name": "%"
      },
      "value": "MIGR_"
    },
    {
      "rule-id": 57,
      "rule-type": "transformation",
      "rule-name": "add-suffix-columns-starting-with-src",
      "rule-action": "add-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "STG_%",
        "table-name": "%",
        "column-name": "SRC_%"
      },
      "value": "_NEW"
    }
  ]
}
```