View a markdown version of this page

Aturan transformasi dalam Konversi Skema DMS - AWS Database Migration Service

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.

AWS Management Console
Untuk membuat aturan transformasi menggunakan konsol
  1. Pada halaman Buat proyek migrasi, pilih Tambahkan aturan transformasi. Untuk informasi selengkapnya, lihat Membuat proyek migrasi.

  2. Untuk target Rule, pilih jenis objek database yang aturan ini berlaku. Konsol wizard mendukungschema,table, dan column target. Untuk menggunakan target lain seperti database atauview, gunakan editor JSON di konsol atau AWS CLI.

  3. Untuk skema Sumber, pilih Masukkan skema. Kemudian, tentukan skema sumber, tabel, dan kolom tempat aturan ini berlaku. Anda dapat menggunakan nama yang tepat untuk memilih satu objek, atau menggunakan pola dengan tanda persen (%) sebagai wildcard untuk mencocokkan sejumlah karakter.

  4. Untuk Tindakan, pilih tugas yang akan dilakukan.

  5. Bergantung pada tindakan aturan, masukkan nilai tambahan:

    • add-prefixatau add-suffix — Masukkan teks yang akan ditambahkan.

    • remove-prefixatau remove-suffix — Masukkan teks yang akan dihapus.

    • replace-prefixatau replace-suffix — Masukkan teks yang ada dan teks pengganti.

    • rename— Masukkan nama baru untuk objek.

    • convert-uppercaseatau convert-lowercase — Tidak ada nilai tambahan yang diperlukan.

    • change-data-type— Masukkan nama tipe data target, dan opsional presisi, skala, atau panjangnya.

  6. Pilih Tambahkan aturan transformasi untuk menambahkan aturan transformasi lain.

    Setelah selesai menambahkan aturan, pilih Buat proyek migrasi.

AWS CLI

Untuk menambahkan aturan transformasi menggunakan AWS CLI, gunakan --transformation-rules parameter dengan salah satu perintah berikut:

Contoh berikut menambahkan aturan transformasi ke proyek migrasi yang ada:

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

Untuk menjalankan perintah ini di Wilayah AWS tertentu, tambahkan --region parameter, misalnya--region us-west-2.

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

AWS Management Console

Untuk melihat aturan transformasi menggunakan Konsol AWS Manajemen, pilih Ubah pada proyek migrasi yang ada dan tinjau daftar aturan yang ada di bagian Aturan transformasi.

AWS CLI

Untuk mengambil aturan transformasi dari proyek migrasi Konversi Skema DMS yang ada, gunakan perintah deskripsi-migrasi-proyek. Respons menggunakan format JSON dan mencakup aturan transformasi yang terkait dengan proyek.

Contoh AWS CLI berikut mengambil aturan transformasi dari proyek migrasi:

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

Mengedit aturan transformasi

Untuk mengedit, menambah, atau menghapus aturan transformasi dalam proyek migrasi Anda, gunakan salah satu metode berikut.

AWS Management Console
Untuk mengedit aturan transformasi
  1. Pilih Proyek migrasi, lalu pilih proyek migrasi Anda.

  2. Pilih Ubah untuk mengedit setelan proyek migrasi Anda.

  3. Untuk aturan Transformasi, pilih salah satu tindakan berikut:

    • Pilih Tambahkan aturan transformasi untuk menambahkan aturan transformasi baru.

    • Pilih Duplikat untuk menduplikasi aturan transformasi yang ada dan menambahkannya di akhir daftar.

    • Pilih Hapus untuk menghapus aturan transformasi yang ada.

    • Pilih aturan transformasi yang ada untuk mengeditnya.

  4. Setelah Anda selesai mengedit aturan, pilih Simpan perubahan.

AWS CLI

Untuk memperbarui aturan transformasi menggunakan AWS CLI, gunakan perintah modify-migration-project dengan parameter. --transformation-rules Lulus seperangkat aturan lengkap yang diperbarui sebagai string JSON.

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

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 ketransformation.

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:

  • add-prefix— Tambahkan teks tertentu ke awal nama.

  • remove-prefix— Hapus teks tertentu dari awal nama.

  • replace-prefix— Ganti awalan yang ada dengan yang baru.

Operasi akhiran:

  • add-suffix— Tambahkan teks tertentu ke akhir nama.

  • remove-suffix— Hapus teks tertentu dari akhir nama.

  • replace-suffix— Ganti sufiks yang ada dengan yang baru.

Konversi kasus:

  • convert-uppercase— Ubah semua karakter dalam nama menjadi huruf besar.

  • convert-lowercase— Ubah semua karakter dalam nama menjadi huruf kecil.

Modifikasi langsung:

  • rename— Ubah nama ke nilai tertentu yang sama sekali baru.

  • change-data-type— Ubah tipe data kolom atau variabel lokal ke tipe data yang berbeda.

Lingkup: awalan, akhiran, ganti nama, dan operasi konversi kasus dapat diterapkan ke skema, tabel, dan kolom.

change-data-typeOperasi hanya berlaku untuk kolom, nilai pengembalian fungsi, parameter rutin, dan variabel lokal.

Parameter yang diperlukan.

rule-target database, schema, table, view, column, function result, routine parameter, local variable

Jenis objek yang aturannya akan diterapkan.

  • database— Basis data.

  • schema— Skema basis data.

  • table— Tabel basis data.

  • view— Tampilan basis data.

  • column— Tabel database atau kolom tampilan.

  • function result- Nilai pengembalian fungsi.

  • routine parameter— Prosedur tersimpan atau parameter fungsi.

  • local variable— Variabel lokal dalam prosedur atau fungsi yang disimpan.

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 (%) sebagai wildcard untuk semua atau sebagian nilai di setiap bidang object-locator objek.

Objek berisi bidang string berikut:

  • database-name

  • schema-name

  • table-name

  • column-name

  • parent

  • function-name

  • procedure-name

  • parameter-name

  • local-variable-name

  • type

  • precision

  • scale

  • length

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 function-name atauprocedure-name.

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 add-prefix danadd-suffix, menentukan teks yang akan ditambahkan. Untuk remove-prefix danremove-suffix, menentukan teks yang akan dihapus. Untuk replace-prefix danreplace-suffix, menentukan teks pengganti. Untukrename, tentukan nama baru.

Diperlukan untuk semua tindakan kecualiconvert-uppercase,convert-lowercase, danchange-data-type.

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 replace-prefix danreplace-suffix.

Parameter opsional.

data-type Sebuah objek JSON.

Objek yang menjelaskan properti tipe data pengganti kapanrule-action. change-data-type

Objek berisi kolom-kolom berikut:

  • type: tali

  • precision: nomor

  • scale: nomor

  • length: nomor

Bagian berikut menjelaskan setiap bidang objek.

Parameter opsional.

data-type | type Nilai alfanumerik.

Nama tipe data pengganti untuk kolom database target jika rule-action adachange-data-type. Harus menjadi tipe data database target yang valid.

Diperlukan bidang objek JSON.

data-type | precision Nilai numerik (integer).

Ketepatan tipe data pengganti untuk database target jika rule-action adachange-data-type.

Bidang objek JSON opsional.

data-type | scale Nilai numerik (integer).

Skala tipe data pengganti untuk database target jika rule-action adachange-data-type.

Bidang objek JSON opsional.

data-type | length Nilai numerik (integer).

Panjang tipe data pengganti untuk database target jika rule-action adachange-data-type.

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 tabel ORDERS dalam skemaSALES.

  • Tambahkan awalan OLD_ ke kolom UNIT_PRICE dalam tabel PRODUCTS dalam 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 tabel TMP_INVOICES dalam skemaSRC_FINANCE.

  • Hapus awalan PAID_ dari kolom PAID_AMOUNT dalam tabel TMP_PAYMENTS dalam 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_ dengan NEW_ dalam skemaOLD_INVENTORY.

  • Ganti awalan STG_ dengan tabel INT_ STG_WAREHOUSES dalam skemaOLD_INVENTORY.

  • Ganti awalan SRC_ dengan kolom TGT_ SRC_WAREHOUSE_CODE dalam tabel STG_WAREHOUSES dalam 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 _HIST ke skemaHR_ARCHIVE.

  • Tambahkan akhiran _HIST ke tabel JOB_CHANGES dalam skemaHR_ARCHIVE.

  • Tambahkan akhiran _TS ke kolom CREATED_AT dalam tabel EMPLOYEE_SALARIES dalam 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 _FILES dari skemaLEGAL_FILES.

  • Hapus sufiks _V1 dari tabel CLAUSES_V1 dalam skemaLEGAL_FILES.

  • Hapus akhiran _CODE dari kolom COUNTRY_CODE dalam tabel CONTRACTS_V1 dalam 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 _DEV dengan _PROD dalam skemaREPORTING_DEV.

  • Ganti sufiks _RPT dengan _REPORT dalam tabel MONTHLY_RPT dalam skemaREPORTING_DEV.

  • Ganti akhiran _ID dengan kolom _KEY CUSTOMER_ID dalam tabel MONTHLY_RPT dalam 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_LEGACY menjadi huruf besar.

  • Ubah semua karakter dalam nama tabel CUSTOMER_ACCOUNTS dalam skema CRM_LEGACY menjadi huruf besar.

  • Ubah semua karakter dalam nama kolom FIRST_NAME dalam tabel CUSTOMER_ACCOUNTS dalam skema CRM_LEGACY menjadi 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 LOGISTICS menjadi huruf kecil.

  • Ubah semua karakter dalam nama tabel SHIPMENT_ORDERS dalam skema LOGISTICS menjadi huruf kecil.

  • Ubah semua karakter dalam nama kolom DESTINATION_CITY dalam tabel SHIPMENT_ORDERS dalam skema LOGISTICS menjadi 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_SCHEMA menjadi. TEST_NEW_SCHEMA

  • Ganti nama tabel REGIONS dalam skema HR menjadi. ORG_REGIONS

  • Ganti nama kolom CITY dalam tabel LOCATIONS dalam skema HR menjadi. 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 SALARY dalam tabel EMPLOYEES dalam skema PAYROLL dari NUMBER ke DECIMAL dengan presisi 18 dan skala 4.

  • Ubah tipe data kolom NOTES dalam tabel EMPLOYEES dalam skema PAYROLL dari VARCHAR2 ke VARCHAR dengan panjang 350.

  • Ubah tipe data kolom HIRE_DATE dalam tabel EMPLOYEES dalam skema PAYROLL dari DATE ke TIMESTAMP WITH TIME ZONE dengan 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_AMOUNT dalam prosedur tersimpan PROCESS_PAYMENT dalam skema FINANCE menjadiNUMERIC.

  • Ubah tipe data variabel lokal V_TAX_RATE dalam prosedur tersimpan PROCESS_PAYMENT dalam skema FINANCE menjadi NUMERIC dengan presisi 10 dan skala 6.

  • Ubah tipe data variabel lokal V_DESCRIPTION dalam fungsi mandiri CALC_DISCOUNT dalam skema FINANCE menjadi CHARACTER dengan 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_PRICE dalam skema FNG_COMPANY menjadi. BIGINT

  • Ubah tipe data pengembalian fungsi mandiri CALC_DISCOUNTED_PRICE dalam skema FNG_COMPANY menjadi. DECIMAL

  • Ubah tipe data pengembalian fungsi yang dikemas CALCULATE_TAX dalam paket TAX_UTILS dalam skema FNG_COMPANY menjadi. 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 _NEW ke semua kolom yang namanya dimulai SRC_ 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" } ] }