翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DMS Schema Conversion の変換ルール
変換ルールを使用すると、DMS Schema Conversion がデータベースオブジェクトを変換する方法をカスタマイズし、デフォルトの命名とデータ型マッピングを上書きできます。これらのルールは、データベース、スキーマ、テーブル、ビュー、列、関数戻り値、ルーチンパラメータ、ローカル変数に適用できます。
例えば、test_TABLE_NAME という名前のソーススキーマにテーブルがあるとします。ターゲットスキーマ内にある プレフィックス test_ をプレフィックス demo_ に変更するルールを設定できます。
変換ルールを作成して、次のとおりのタスクを実行できます。
-
プレフィックスの追加、削除、または置換
-
サフィックスの追加、削除、または置換
-
列、関数戻り値、ルーチンパラメータ、またはローカル変数のデータ型を変更する
-
オブジェクト名を小文字または大文字に変換する
-
オブジェクトの名前を変更する
変換ルールの作成
移行プロジェクトの一環として、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 マネジメントコンソールまたは AWS CLI を使用して、既存の DMS Schema Conversion 移行プロジェクトから変換ルールを取得できます。
変換ルールの編集
移行プロジェクトの変換ルールを編集、追加、または削除するには、次のいずれかの方法を使用します。
変換ルールの形式
変換ルールは 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 |
オブジェクトロケーターで指定された各オブジェクトにルールを適用する値。 すべての変換ルールで、これを に設定します 必須パラメータ。 |
rule-id |
数値 (整数)。 | ルールを識別する一意の数値。 必須パラメータ。 |
rule-name |
英数字値。 | ルールを特定する一意な名前。 必須パラメータ。 |
rule-action |
add-prefix, remove-prefix,
replace-prefix, add-suffix,
remove-suffix, replace-suffix,
convert-uppercase,
convert-lowercase, rename,
change-data-type |
オブジェクトに適用する変換。すべて変換ルールアクションでは、大文字と小文字が区別されます。 プレフィックスオペレーション:
サフィックスオペレーション:
ケース変換:
直接変更:
スコープ: プレフィックス、サフィックス、名前変更、大文字と小文字の変換オペレーションをスキーマ、テーブル、列に適用できます。
必須パラメータ。 |
rule-target |
database, schema,
table, view,
column, function result,
routine parameter, local
variable |
ルールが適用されるオブジェクトのタイプ。
必須パラメータ。 |
object-locator |
JSON オブジェクト。 | ルールが適用されるソースデータベースオブジェクトを識別するオブジェクト。パーセント記号 ( オブジェクトには、次の文字列フィールドが含まれます。
変換ルールでは、テーブル名や列名など、すべてのオブジェクト名で大文字と小文字が区別されます。 以下のセクションでは、各オブジェクトフィールドについて説明します。 必須パラメータ。 |
object-locator | database-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベースの名前。 データベースアーキテクチャがオブジェクトの最上位コンテナとしてデータベースから発信されるデータベースベンダーに適用されます。例: Microsoft SQL Server、SAP ASE。 オプションの JSON オブジェクトフィールド。 |
object-locator | schema-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベーススキーマの名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | table-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベーステーブルの名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | column-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベーステーブル列の名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | parent |
ソースデータベースの命名規則に従う英数字の値。 | または など、指定されたオブジェクトの親であるソースデータベースオブジェクトの名前 一部のベンダーのデータベースでは、ルールが適用されるオブジェクトが下位であり、親の指定が必要になる場合があります。 たとえば、Oracle のパッケージ化された関数です。親はパッケージ名です。 オプションの JSON オブジェクトフィールド。 |
object-locator | function-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベース関数の名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | procedure-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベースプロシージャの名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | parameter-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベース関数またはプロシージャパラメータの名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | local-variable-name |
ソースデータベースの命名規則に従う英数字の値。 | ソースデータベース関数またはプロシージャ内のローカル変数の名前。 オプションの JSON オブジェクトフィールド。 |
object-locator | type |
英数字値。 | 一致するソースデータ型名。このフィールドを使用して、特定のデータ型のオブジェクトにのみルールを適用します。 オプションの JSON オブジェクトフィールド。 |
object-locator | precision |
数値 (整数)。 | 一致するソースデータ型の精度。 オプションの JSON オブジェクトフィールド。 |
object-locator | scale |
数値 (整数)。 | 一致するソースデータ型のスケール。 オプションの JSON オブジェクトフィールド。 |
object-locator | length |
数値 (整数)。 | 一致するソースデータ型の長さ。 オプションの JSON オブジェクトフィールド。 |
value |
ターゲットデータベースの命名規則に従う英数字の値。 | 変換アクションで使用されるテキスト値。
|
old-value |
ソースデータベースの命名規則に従う英数字の値。 | オブジェクト名で検索して置き換える既存の値。 オプションのパラメータ。 |
data-type |
JSON オブジェクト。 |
オブジェクトには、以下のフィールドが含まれています。
以下のセクションでは、各オブジェクトフィールドについて説明します。 オプションのパラメータ。 |
data-type | type |
英数字値。 |
必須の JSON オブジェクトフィールド。 |
data-type | precision |
数値 (整数)。 | が の場合のターゲットデータベースの置換データ型の精度 オプションの JSON オブジェクトフィールド。 |
data-type | scale |
数値 (整数)。 |
オプションの JSON オブジェクトフィールド。 |
data-type | length |
数値 (整数)。 |
オプションの JSON オブジェクトフィールド。 |
変換ルールの例
次の例は、さまざまなルールタイプの --transformation-rulesパラメータの JSON 値を示しています。
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
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_" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
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_" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
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_" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
_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" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
_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" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
_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" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマの名前のすべての文字を大文字に変換
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" } } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマの名前のすべての文字を小文字に変換
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" } } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマの名前
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" } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
EMPLOYEESスキーマSALARYのテーブルの列のデータ型を、精度 18 とスケール 4DECIMALでPAYROLLNUMBERから に変更します。 -
スキーマ
NOTESのテーブルの列のデータ型EMPLOYEESを、長さ 350VARCHARのPAYROLLVARCHAR2から に変更します。 -
スキーマのテーブル
HIRE_DATEの列のデータ型EMPLOYEESを、精度 3TIMESTAMP 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 } } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
P_AMOUNTのストアドプロシージャPROCESS_PAYMENTの パラメータのデータ型をFINANCEに変更しますNUMERIC。 -
PROCESS_PAYMENTスキーマのストアドプロシージャV_TAX_RATEのローカル変数のデータ型FINANCEを、精度 10 とスケール 6NUMERICで に変更します。 -
スキーマのスタンドアロン関数
V_DESCRIPTIONのローカル変数のデータ型CALC_DISCOUNTを、長さ 150CHARACTERの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 } } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
スキーマ
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" } } ] }
次の例では、ソースデータベースからターゲットデータベースに変換するときにこれらのアクションを実行します。
-
名前が で始まるすべてのスキーマ
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" } ] }