Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Transformationsregeln bei der DMS-Schemakonvertierung
Mit Transformationsregeln können Sie anpassen, wie die DMS-Schemakonvertierung Ihre Datenbankobjekte konvertiert, wobei Standardnamen und Datentypzuordnungen außer Kraft gesetzt werden. Sie können diese Regeln auf Datenbanken, Schemas, Tabellen, Ansichten, Spalten, Funktionsrückgabewerte, Routineparameter und lokale Variablen anwenden.
Nehmen wir beispielsweise an, dass Sie in Ihrem Quellschema eine Reihe von Tabellen mit dem Namen test_TABLE_NAME haben. Sie können eine Regel einrichten, die das Präfix test_ im Zielschema in das Präfix demo_ ändert.
Sie können Transformationsregeln für die folgenden Aufgaben erstellen:
-
Ein Präfix hinzufügen, entfernen oder ersetzen
-
Ein Suffix hinzufügen, entfernen oder ersetzen
-
Ändern Sie den Datentyp einer Spalte, eines Funktionsrückgabewerts, eines Routineparameters oder einer lokalen Variablen
-
Konvertiert den Objektnamen in Klein- oder Großbuchstaben
-
Benennen Sie ein Objekt um
Erstellen von Transformationsregeln
DMS Schema Conversion speichert Transformationsregeln als Teil Ihres Migrationsprojekts. Um Transformationsregeln zu definieren, übergeben Sie sie als JSON-Zeichenfolge, die ein Objekt mit einem rules Array enthält, wenn Sie ein Migrationsprojekt erstellen oder ändern. Jedes Element im Array steht für ein separates Regelobjekt. Ein Migrationsprojekt unterstützt bis zu 512 Transformationsregeln (maximal 128 KB).
Die Struktur des Arrays mit Transformationsregeln sieht wie folgt aus:
{ "rules": [ {Rule object 1}, {Rule object 2}, ... {Rule object N} ] }
Sie können Ihrem Projekt mehrere Transformationsregeln hinzufügen. DMS Schema Conversion wendet Transformationsregeln während der Konvertierung in derselben Reihenfolge an, in der sie hinzugefügt wurden.
Wenn mehrere Regeln auf dasselbe Objekt abzielen, hängt das Verhalten vom Aktionstyp ab. Regeln mit unterschiedlichen Aktionstypen werden alle wirksam. Beispielsweise gelten sowohl eine add-prefix Regel als auch eine add-suffix Regel. Regeln mit demselben Aktionstyp überschreiben sich gegenseitig, und nur die letzte ist wirksam.
Verwenden Sie eine der folgenden Methoden, um Transformationsregeln zu erstellen.
Informationen zum Bearbeiten, Duplizieren oder Entfernen vorhandener Transformationsregeln finden Sie unterBearbeiten von Transformationsregeln.
Transformationsregeln werden abgerufen
Sie können Transformationsregeln aus einem vorhandenen DMS-Schemakonvertierungs-Migrationsprojekt mithilfe der AWS Management Console oder der AWS CLI abrufen.
Bearbeiten von Transformationsregeln
Verwenden Sie eine der folgenden Methoden, um Transformationsregeln in Ihrem Migrationsprojekt zu bearbeiten, hinzuzufügen oder zu entfernen.
Format der Transformationsregeln
Eine Transformationsregel verwendet JSON-Objektfelder, um zu definieren, wie ein Quellobjekt in sein Zieläquivalent konvertiert wird. Jeder Regeltyp verwendet einen bestimmten Satz von Feldern. Schließen Sie nur die Felder ein, die für Ihre Aufgabe gelten.
Das folgende JSON-Objekt beschreibt eine Transformationsregel für die DMS-Schemakonvertierung:
{ "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] } ] }
In der folgenden Tabelle werden die einzelnen Parameter beschrieben.
| Parameter | Mögliche Werte | Description |
|---|---|---|
rule-type |
transformation |
Ein Wert, der die Regel auf jedes vom Objektlocator angegebene Objekt anwendet. Setzen Sie diesen Wert für alle Transformationsregeln auf Erforderlicher Parameter. |
rule-id |
Ein numerischer Wert (Ganzzahl). | Ein eindeutiger numerischer Wert zur Identifizierung der Regel. Erforderlicher Parameter. |
rule-name |
Ein alphanumerischer Wert. | Ein eindeutiger Name zur Identifizierung der Regel. Erforderlicher Parameter. |
rule-action |
add-prefix, remove-prefix,
replace-prefix, add-suffix,
remove-suffix, replace-suffix,
convert-uppercase,
convert-lowercase, rename,
change-data-type |
Die Transformation, die Sie auf das Objekt anwenden möchten. Bei allen Transformationsregelaktionen wird zwischen Groß- und Kleinschreibung unterschieden. Präfix-Operationen:
Suffix-Operationen:
Konvertierung von Groß- und Kleinschreibung
Direkte Änderung:
Geltungsbereich: Operationen zur Konvertierung von Präfix, Suffix, Umbenennen und Groß- und Kleinschreibung können auf Schemas, Tabellen und Spalten angewendet werden. Die Erforderlicher Parameter. |
rule-target |
database, schema,
table, view,
column, function result,
routine parameter, local
variable |
Der Objekttyp, auf den die Regel angewendet wird.
Erforderlicher Parameter. |
object-locator |
Ein JSON-Objekt. | Ein Objekt, das identifiziert, für welche Quelldatenbankobjekte die Regel gilt. Sie können das Prozentzeichen ( Das Objekt enthält die folgenden Zeichenkettenfelder:
Bei allen Objektnamen, z. B. Tabellen- oder Spaltennamen, in Transformationsregeln wird zwischen Groß- und Kleinschreibung unterschieden. In den folgenden Abschnitten werden die einzelnen Objektfelder beschrieben. Erforderlicher Parameter. |
object-locator | database-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbank. Gilt für Datenbankanbieter, bei denen die Datenbankarchitektur aus der Datenbank als Objektcontainer der obersten Ebene stammt. Zum Beispiel: Microsoft SQL Server, SAP ASE. Optionales JSON-Objektfeld. |
object-locator | schema-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name des Quelldatenbankschemas. Optionales JSON-Objektfeld. |
object-locator | table-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbanktabelle. Optionales JSON-Objektfeld. |
object-locator | column-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Tabellenspalte der Quelldatenbank. Optionales JSON-Objektfeld. |
object-locator | parent |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name des Quelldatenbankobjekts, das dem angegebenen Objekt übergeordnet ist, z. B. für das In Datenbanken einiger Hersteller ist das Objekt, auf das die Regel angewendet wird, möglicherweise untergeordnet und erfordert die Angabe seines übergeordneten Objekts. Zum Beispiel Funktionspakete in Oracle, wobei das übergeordnete Element der Paketname ist. Optionales JSON-Objektfeld. |
object-locator | function-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbankfunktion. Optionales JSON-Objektfeld. |
object-locator | procedure-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbankprozedur. Optionales JSON-Objektfeld. |
object-locator | parameter-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Funktion oder des Prozedurparameters der Quelldatenbank. Optionales JSON-Objektfeld. |
object-locator | local-variable-name |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name einer lokalen Variablen innerhalb der Quelldatenbankfunktion oder -prozedur. Optionales JSON-Objektfeld. |
object-locator | type |
Ein alphanumerischer Wert. | Der Name des Quelldatentyps, der zugeordnet werden soll. Verwenden Sie dieses Feld, um die Regel nur auf Objekte mit einem bestimmten Datentyp anzuwenden. Optionales JSON-Objektfeld. |
object-locator | precision |
Ein numerischer Wert (Ganzzahl). | Die Genauigkeit des entsprechenden Quelldatentyps. Optionales JSON-Objektfeld. |
object-locator | scale |
Ein numerischer Wert (Ganzzahl). | Die Skala des entsprechenden Quelldatentyps. Optionales JSON-Objektfeld. |
object-locator | length |
Ein numerischer Wert (Ganzzahl). | Die Länge des Quelldatentyps, der übereinstimmen soll. Optionales JSON-Objektfeld. |
value |
Ein alphanumerischer Wert, der den Benennungsregeln für die Zieldatenbank entspricht. | Der von der Transformationsaktion verwendete Textwert. Für Erforderlich für alle Aktionen außer |
old-value |
Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der vorhandene Wert, der im Objektnamen gesucht und ersetzt werden soll. Erforderlich für Aktionen wie Optionaler Parameter. |
data-type |
Ein JSON-Objekt. | Ein Objekt, das Eigenschaften eines Ersatzdatentyps beschreibt, wenn dies der Das -Objekt enthält die folgenden Felder:
In den folgenden Abschnitten werden die einzelnen Objektfelder beschrieben. Optionaler Parameter. |
data-type | type |
Ein alphanumerischer Wert. | Der Name des Ersatzdatentyps für die Zieldatenbankspalte, falls Erforderliches JSON-Objektfeld. |
data-type | precision |
Ein numerischer Wert (Ganzzahl). | Die Genauigkeit des Ersatzdatentyps für die Zieldatenbank Optionales JSON-Objektfeld. |
data-type | scale |
Ein numerischer Wert (Ganzzahl). | Die Skala des Ersatzdatentyps für die Zieldatenbank, falls Optionales JSON-Objektfeld. |
data-type | length |
Ein numerischer Wert (Ganzzahl). | Die Länge des Ersatzdatentyps für die Zieldatenbank Optionales JSON-Objektfeld. |
Beispiele für Transformationsregeln
Die folgenden Beispiele zeigen den JSON-Wert für den --transformation-rules Parameter für verschiedene Regeltypen:
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
-
Präfix
DW_zum Schema hinzufügenSALES. -
Fügen Sie der Tabelle
ORDERSim Schema ein PräfixFACT_hinzuSALES. -
Fügen Sie der Spalte
OLD_inUNIT_PRICEder TabellePRODUCTSim Schema ein Präfix hinzuSALES.
{ "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_" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Entfernen Sie das Präfix
SRC_aus dem SchemaSRC_FINANCE. -
Entfernen Sie das Präfix
TMP_ausTMP_INVOICESder Tabelle im SchemaSRC_FINANCE. -
Entfernen Sie das Präfix
PAID_ausPAID_AMOUNTder Spalte inTMP_PAYMENTSder Tabelle im SchemaSRC_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_" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
-
Ersetzen Sie das Präfix
OLD_durchNEW_im SchemaOLD_INVENTORY. -
Ersetzen Sie das Präfix
STG_durchINT_inSTG_WAREHOUSESder Tabelle im SchemaOLD_INVENTORY. -
Ersetzen Sie das Präfix
SRC_durch eine SpalteTGT_SRC_WAREHOUSE_CODEinSTG_WAREHOUSESder Tabelle im SchemaOLD_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_" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Fügen Sie dem Schema
HR_ARCHIVEein Suffix_HISThinzu. -
Fügen Sie der Tabelle
JOB_CHANGESim Schema_HISTein Suffix hinzu.HR_ARCHIVE -
Fügen Sie der Spalte
CREATED_ATin der TabelleEMPLOYEE_SALARIESim Schema ein Suffix_TShinzu.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" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Suffix
_FILESaus dem SchemaLEGAL_FILESentfernen. -
Entfernen Sie das Suffix
_V1aus der TabelleCLAUSES_V1im Schema.LEGAL_FILES -
Entfernen Sie das Suffix
_CODEaus der SpalteCOUNTRY_CODEin der TabelleCONTRACTS_V1im Schema.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" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Ersetzen Sie das Suffix
_DEVdurch_PRODim SchemaREPORTING_DEV. -
Ersetzen Sie das Suffix
_RPTdurch_REPORTin der TabelleMONTHLY_RPTim Schema.REPORTING_DEV -
Ersetzen Sie das Suffix
_IDdurch eine Spalte_KEYCUSTOMER_IDin der TabelleMONTHLY_RPTim Schema.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" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Konvertiert alle Zeichen im Namen des Schemas
CRM_LEGACYin Großbuchstaben. -
Konvertiert alle Zeichen im Namen der Tabelle
CUSTOMER_ACCOUNTSim SchemaCRM_LEGACYin Großbuchstaben. -
Konvertiert alle Zeichen im Namen der Spalte
FIRST_NAMEin der Tabelle im SchemaCUSTOMER_ACCOUNTSCRM_LEGACYin Großbuchstaben.
{ "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" } } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
-
Konvertiert alle Zeichen im Namen des Schemas
LOGISTICSin Kleinbuchstaben. -
Konvertiert alle Zeichen im Namen der Tabelle
SHIPMENT_ORDERSim SchemaLOGISTICSin Kleinbuchstaben. -
Konvertiert alle Zeichen im Namen der Spalte
DESTINATION_CITYin der Tabelle im SchemaSHIPMENT_ORDERSLOGISTICSin Kleinbuchstaben.
{ "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" } } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
-
Schema umbenennen
TEST_SCHEMAinTEST_NEW_SCHEMA. -
Benennen Sie die Tabelle
REGIONSim SchemaHRum inORG_REGIONS. -
Benennen Sie die Spalte
CITYinLOCATIONSder Tabelle im SchemaHRum inORG_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" } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Ändern Sie den Datentyp der Spalte
SALARYin der TabelleEMPLOYEESim SchemaPAYROLLvonNUMBERaufDECIMALmit einer Genauigkeit von 18 und einer Skala von 4. -
Ändern Sie den Datentyp der Spalte
NOTESin der TabelleEMPLOYEESim SchemaPAYROLLvonVARCHAR2zuVARCHARmit der Länge 350. -
Ändern Sie den Datentyp der Spalte
HIRE_DATEin der TabelleEMPLOYEESim SchemaPAYROLLvonDATEbisTIMESTAMP WITH TIME ZONEmit Genauigkeit 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 } } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
-
Ändern Sie den Datentyp des Parameters
P_AMOUNTin der gespeicherten ProzedurPROCESS_PAYMENTim SchemaFINANCEinNUMERIC. -
Ändern Sie den Datentyp der lokalen Variablen
V_TAX_RATEin der gespeicherten ProzedurPROCESS_PAYMENTim SchemaFINANCEaufNUMERICGenauigkeit 10 und Skala 6. -
Ändern Sie den Datentyp der lokalen Variablen
V_DESCRIPTIONin der eigenständigen FunktionCALC_DISCOUNTim SchemaFINANCEaufCHARACTERmit der Länge 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 } } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
-
Ändern Sie den Rückgabedatentyp der eigenständigen Funktion
GET_PRODUCT_PRICEim SchemaFNG_COMPANYinBIGINT. -
Ändern Sie den Rückgabedatentyp der eigenständigen Funktion
CALC_DISCOUNTED_PRICEim SchemaFNG_COMPANYinDECIMAL. -
Ändern Sie den Rückgabedatentyp der verpackten Funktion
CALCULATE_TAXinnerhalb des PaketsTAX_UTILSim SchemaFNG_COMPANYinREAL.
{ "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" } } ] }
Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
-
Fügen Sie allen Schemas
MIGR_, deren Namen mitSTG_beginnen, ein Präfix hinzu. -
Fügen Sie allen Tabellen in allen Schemas, deren Namen mit beginnen, ein Präfix
MIGR_hinzu.STG_ -
Fügen Sie allen Spalten
_NEW, deren Namen mit beginnen, in allen TabellenSRC_in allen Schemas, deren Namen mit beginnen, ein Suffix hinzu.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" } ] }