Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Aturan transformasi dalam Konversi Skema DMS
Aturan transformasi memungkinkan Anda menyesuaikan cara Konversi Skema DMS mengonversi objek database Anda, mengesampingkan penamaan default dan pemetaan tipe data. Anda dapat menerapkan aturan ini ke database, skema, tabel, tampilan, kolom, nilai pengembalian fungsi, parameter rutin, dan variabel lokal.
Misalnya, Anda memiliki satu set tabel dalam skema sumber Anda bernamatest_TABLE_NAME. Anda dapat mengatur aturan yang mengubah awalan test_ ke awalan demo_ dalam skema target.
Anda dapat membuat aturan transformasi yang melakukan tugas-tugas berikut:
-
Menambahkan, menghapus, atau mengganti awalan
-
Menambahkan, menghapus, atau mengganti sufiks
-
Ubah tipe data kolom, nilai pengembalian fungsi, parameter rutin, atau variabel lokal
-
Ubah nama objek menjadi huruf kecil atau huruf besar
-
Ganti nama objek
Membuat aturan transformasi
Konversi Skema DMS menyimpan aturan transformasi sebagai bagian dari proyek migrasi Anda. Untuk menentukan aturan transformasi, teruskan sebagai string JSON yang berisi objek dengan rules array saat Anda membuat atau memodifikasi proyek migrasi. Setiap elemen dalam array mewakili objek aturan terpisah. Proyek migrasi mendukung hingga 512 aturan transformasi (maksimum 128 KB).
Struktur array dengan aturan transformasi adalah sebagai berikut:
{ "rules": [ {Rule object 1}, {Rule object 2}, ... {Rule object N} ] }
Anda dapat menambahkan beberapa aturan transformasi dalam proyek Anda. Konversi Skema DMS menerapkan aturan transformasi selama konversi dalam urutan yang sama seperti yang Anda tambahkan.
Jika beberapa aturan menargetkan objek yang sama, perilaku tergantung pada jenis tindakan. Aturan dengan jenis tindakan yang berbeda semuanya berlaku. Misalnya, add-prefix aturan dan add-suffix aturan keduanya berlaku. Aturan dengan tipe tindakan yang sama saling menimpa, dan hanya yang terakhir yang berlaku.
Untuk membuat aturan transformasi, gunakan salah satu metode berikut.
Untuk mengedit, menduplikasi, atau menghapus aturan transformasi yang ada, lihatMengedit aturan transformasi.
Mengambil aturan transformasi
Anda dapat mengambil aturan transformasi dari proyek migrasi Konversi Skema DMS yang ada menggunakan Konsol AWS Manajemen atau CLI. AWS
Mengedit aturan transformasi
Untuk mengedit, menambah, atau menghapus aturan transformasi dalam proyek migrasi Anda, gunakan salah satu metode berikut.
Format aturan transformasi
Aturan transformasi menggunakan bidang objek JSON untuk menentukan cara mengonversi objek sumber menjadi setara targetnya. Setiap jenis aturan menggunakan satu set bidang tertentu. Sertakan hanya bidang yang berlaku untuk tugas Anda.
Objek JSON berikut menjelaskan aturan transformasi Konversi Skema DMS:
{ "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] } ] }
Tabel berikut menjelaskan setiap parameter.
| Parameter | Kemungkinan nilai | Deskripsi |
|---|---|---|
rule-type |
transformation |
Nilai yang menerapkan aturan untuk setiap objek yang ditentukan oleh pencari objek. Untuk semua aturan transformasi, tetapkan ini ke Parameter yang diperlukan. |
rule-id |
Nilai numerik (integer). | Nilai numerik yang unik untuk mengidentifikasi aturan. Parameter yang diperlukan. |
rule-name |
Nilai alfanumerik. | Nama unik untuk mengidentifikasi aturan. Parameter yang diperlukan. |
rule-action |
add-prefix, remove-prefix,
replace-prefix, add-suffix,
remove-suffix, replace-suffix,
convert-uppercase,
convert-lowercase, rename,
change-data-type |
Transformasi yang ingin Anda terapkan ke objek. Semua tindakan aturan transformasi peka huruf besar-kecil. Operasi awalan:
Operasi akhiran:
Konversi kasus:
Modifikasi langsung:
Lingkup: awalan, akhiran, ganti nama, dan operasi konversi kasus dapat diterapkan ke skema, tabel, dan kolom.
Parameter yang diperlukan. |
rule-target |
database, schema,
table, view,
column, function result,
routine parameter, local
variable |
Jenis objek yang aturannya akan diterapkan.
Parameter yang diperlukan. |
object-locator |
Sebuah objek JSON. | Objek yang mengidentifikasi objek basis data sumber mana yang berlaku untuk aturan. Anda dapat menggunakan tanda persen ( Objek berisi bidang string berikut:
Semua nama objek, seperti nama tabel atau kolom, dalam aturan transformasi peka huruf besar/kecil. Bagian berikut menjelaskan setiap bidang objek. Parameter yang diperlukan. |
object-locator | database-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama database sumber. Berlaku untuk vendor database di mana arsitektur database berasal dari database sebagai wadah objek tingkat atas. Misalnya: Microsoft SQL Server, SAP ASE. Bidang objek JSON opsional. |
object-locator | schema-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama skema basis data sumber. Bidang objek JSON opsional. |
object-locator | table-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama tabel database sumber. Bidang objek JSON opsional. |
object-locator | column-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama kolom tabel database sumber. Bidang objek JSON opsional. |
object-locator | parent |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama objek database sumber yang merupakan induk dari objek yang ditentukan, misalnya, untuk Dalam database beberapa vendor, objek yang aturan diterapkan mungkin bawahan dan memerlukan penentuan induknya. Misalnya, fungsi yang dikemas di Oracle, di mana induknya adalah nama paket. Bidang objek JSON opsional. |
object-locator | function-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama fungsi database sumber. Bidang objek JSON opsional. |
object-locator | procedure-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama prosedur database sumber. Bidang objek JSON opsional. |
object-locator | parameter-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama fungsi database sumber atau parameter prosedur. Bidang objek JSON opsional. |
object-locator | local-variable-name |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nama variabel lokal dalam fungsi database sumber atau prosedur. Bidang objek JSON opsional. |
object-locator | type |
Nilai alfanumerik. | Nama tipe data sumber yang cocok. Gunakan bidang ini untuk menerapkan aturan hanya untuk objek dengan tipe data tertentu. Bidang objek JSON opsional. |
object-locator | precision |
Nilai numerik (integer). | Ketepatan tipe data sumber untuk mencocokkan. Bidang objek JSON opsional. |
object-locator | scale |
Nilai numerik (integer). | Skala tipe data sumber yang cocok. Bidang objek JSON opsional. |
object-locator | length |
Nilai numerik (integer). | Panjang tipe data sumber yang cocok. Bidang objek JSON opsional. |
value |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database target. | Nilai teks yang digunakan oleh tindakan transformasi. Untuk Diperlukan untuk semua tindakan kecuali |
old-value |
Nilai alfanumerik yang mengikuti aturan penamaan untuk database sumber. | Nilai yang ada untuk menemukan dan mengganti dalam nama objek. Diperlukan untuk tindakan seperti Parameter opsional. |
data-type |
Sebuah objek JSON. | Objek yang menjelaskan properti tipe data pengganti kapan Objek berisi kolom-kolom berikut:
Bagian berikut menjelaskan setiap bidang objek. Parameter opsional. |
data-type | type |
Nilai alfanumerik. | Nama tipe data pengganti untuk kolom database target jika Diperlukan bidang objek JSON. |
data-type | precision |
Nilai numerik (integer). | Ketepatan tipe data pengganti untuk database target jika Bidang objek JSON opsional. |
data-type | scale |
Nilai numerik (integer). | Skala tipe data pengganti untuk database target jika Bidang objek JSON opsional. |
data-type | length |
Nilai numerik (integer). | Panjang tipe data pengganti untuk database target jika Bidang objek JSON opsional. |
Contoh aturan transformasi
Contoh berikut menunjukkan nilai JSON untuk --transformation-rules parameter untuk jenis aturan yang berbeda:
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Tambahkan awalan
DW_ke skemaSALES. -
Tambahkan awalan
FACT_ke tabelORDERSdalam skemaSALES. -
Tambahkan awalan
OLD_ke kolomUNIT_PRICEdalam tabelPRODUCTSdalam skemaSALES.
{ "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_" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Hapus awalan
SRC_dari skemaSRC_FINANCE. -
Hapus awalan
TMP_dari tabelTMP_INVOICESdalam skemaSRC_FINANCE. -
Hapus awalan
PAID_dari kolomPAID_AMOUNTdalam tabelTMP_PAYMENTSdalam skemaSRC_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_" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ganti awalan
OLD_denganNEW_dalam skemaOLD_INVENTORY. -
Ganti awalan
STG_dengan tabelINT_STG_WAREHOUSESdalam skemaOLD_INVENTORY. -
Ganti awalan
SRC_dengan kolomTGT_SRC_WAREHOUSE_CODEdalam tabelSTG_WAREHOUSESdalam skemaOLD_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_" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Tambahkan akhiran
_HISTke skemaHR_ARCHIVE. -
Tambahkan akhiran
_HISTke tabelJOB_CHANGESdalam skemaHR_ARCHIVE. -
Tambahkan akhiran
_TSke kolomCREATED_ATdalam tabelEMPLOYEE_SALARIESdalam skemaHR_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" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Hapus akhiran
_FILESdari skemaLEGAL_FILES. -
Hapus sufiks
_V1dari tabelCLAUSES_V1dalam skemaLEGAL_FILES. -
Hapus akhiran
_CODEdari kolomCOUNTRY_CODEdalam tabelCONTRACTS_V1dalam skemaLEGAL_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" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ganti akhiran
_DEVdengan_PRODdalam skemaREPORTING_DEV. -
Ganti sufiks
_RPTdengan_REPORTdalam tabelMONTHLY_RPTdalam skemaREPORTING_DEV. -
Ganti akhiran
_IDdengan kolom_KEYCUSTOMER_IDdalam tabelMONTHLY_RPTdalam skemaREPORTING_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" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ubah semua karakter dalam nama skema
CRM_LEGACYmenjadi huruf besar. -
Ubah semua karakter dalam nama tabel
CUSTOMER_ACCOUNTSdalam skemaCRM_LEGACYmenjadi huruf besar. -
Ubah semua karakter dalam nama kolom
FIRST_NAMEdalam tabelCUSTOMER_ACCOUNTSdalam skemaCRM_LEGACYmenjadi huruf besar.
{ "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" } } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ubah semua karakter dalam nama skema
LOGISTICSmenjadi huruf kecil. -
Ubah semua karakter dalam nama tabel
SHIPMENT_ORDERSdalam skemaLOGISTICSmenjadi huruf kecil. -
Ubah semua karakter dalam nama kolom
DESTINATION_CITYdalam tabelSHIPMENT_ORDERSdalam skemaLOGISTICSmenjadi huruf kecil.
{ "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" } } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ubah nama skema
TEST_SCHEMAmenjadi.TEST_NEW_SCHEMA -
Ganti nama tabel
REGIONSdalam skemaHRmenjadi.ORG_REGIONS -
Ganti nama kolom
CITYdalam tabelLOCATIONSdalam skemaHRmenjadi.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" } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ubah tipe data kolom
SALARYdalam tabelEMPLOYEESdalam skemaPAYROLLdariNUMBERkeDECIMALdengan presisi 18 dan skala 4. -
Ubah tipe data kolom
NOTESdalam tabelEMPLOYEESdalam skemaPAYROLLdariVARCHAR2keVARCHARdengan panjang 350. -
Ubah tipe data kolom
HIRE_DATEdalam tabelEMPLOYEESdalam skemaPAYROLLdariDATEkeTIMESTAMP WITH TIME ZONEdengan presisi 3.
{ "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 } } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ubah tipe data parameter
P_AMOUNTdalam prosedur tersimpanPROCESS_PAYMENTdalam skemaFINANCEmenjadiNUMERIC. -
Ubah tipe data variabel lokal
V_TAX_RATEdalam prosedur tersimpanPROCESS_PAYMENTdalam skemaFINANCEmenjadiNUMERICdengan presisi 10 dan skala 6. -
Ubah tipe data variabel lokal
V_DESCRIPTIONdalam fungsi mandiriCALC_DISCOUNTdalam skemaFINANCEmenjadiCHARACTERdengan panjang 150.
{ "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 } } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Ubah tipe data pengembalian fungsi mandiri
GET_PRODUCT_PRICEdalam skemaFNG_COMPANYmenjadi.BIGINT -
Ubah tipe data pengembalian fungsi mandiri
CALC_DISCOUNTED_PRICEdalam skemaFNG_COMPANYmenjadi.DECIMAL -
Ubah tipe data pengembalian fungsi yang dikemas
CALCULATE_TAXdalam paketTAX_UTILSdalam skemaFNG_COMPANYmenjadi.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" } } ] }
Contoh berikut melakukan tindakan ini saat mengonversi dari sumber ke basis data target:
-
Tambahkan awalan
MIGR_ke semua skema yang namanya dimulai dengan.STG_ -
Tambahkan awalan
MIGR_ke semua tabel di semua skema yang namanya dimulai dengan.STG_ -
Tambahkan akhiran
_NEWke semua kolom yang namanya dimulaiSRC_di semua tabel di semua skema yang namanya dimulai dengan.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" } ] }