Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Reglas de transformación en la conversión de esquemas de DMS
Las reglas de transformación le permiten personalizar la forma en que DMS Schema Conversion convierte los objetos de su base de datos, anulando las asignaciones de nombres y tipos de datos predeterminadas. Puede aplicar estas reglas a bases de datos, esquemas, tablas, vistas, columnas, valores devueltos por funciones, parámetros de rutina y variables locales.
Por ejemplo, suponga que tiene un conjunto de tablas en el esquema de origen denominado test_TABLE_NAME. Puede configurar una regla que cambie el prefijo test_ por el prefijo demo_ del esquema de destino.
Puede crear reglas de transformación que realicen las siguientes tareas:
-
Agregar, eliminar o reemplazar un prefijo
-
Agregar, eliminar o reemplazar un sufijo
-
Cambie el tipo de datos de una columna, el valor devuelto por la función, el parámetro de rutina o la variable local
-
Convierte el nombre del objeto a minúsculas o mayúsculas
-
Cambie el nombre de un objeto
Creación de reglas de transformación
La conversión de esquemas del DMS almacena las reglas de transformación como parte del proyecto de migración. Para definir las reglas de transformación, páselas como una cadena JSON que contenga un objeto con una rules matriz cuando cree o modifique un proyecto de migración. Cada elemento de la matriz representa un objeto de regla independiente. Un proyecto de migración admite hasta 512 reglas de transformación (128 KB como máximo).
La estructura de la matriz con las reglas de transformación es la siguiente:
{ "rules": [ {Rule object 1}, {Rule object 2}, ... {Rule object N} ] }
Puede agregar varias reglas de transformación al proyecto. La conversión de esquemas del DMS aplica las reglas de transformación durante la conversión en el mismo orden en que las agregó.
Si varias reglas se dirigen al mismo objeto, el comportamiento depende del tipo de acción. Todas las reglas con diferentes tipos de acción entran en vigor. Por ejemplo, se aplican tanto una add-suffix regla como una regla. add-prefix Las reglas con el mismo tipo de acción se anulan entre sí y solo entra en vigor la última.
Para crear reglas de transformación, utilice uno de los métodos siguientes.
Para editar, duplicar o eliminar las reglas de transformación existentes, consulteEdición de reglas de transformación.
Recuperación de reglas de transformación
Puede recuperar las reglas de transformación de un proyecto de migración de conversión de esquemas de DMS existente mediante la consola AWS de administración o la AWS CLI.
Edición de reglas de transformación
Para editar, añadir o eliminar reglas de transformación en su proyecto de migración, utilice uno de los siguientes métodos.
Formato de regla de transformación
Una regla de transformación utiliza campos de objetos JSON para definir cómo convertir un objeto de origen en su equivalente de destino. Cada tipo de regla usa un conjunto específico de campos. Incluya solo los campos que se apliquen a su tarea.
El siguiente objeto JSON describe una regla de transformación de conversión de esquemas de 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] } ] }
En la siguiente tabla se describe cada parámetro.
| Parámetro | Valores posibles | Description (Descripción) |
|---|---|---|
rule-type |
transformation |
Un valor que aplica la regla a cada objeto especificado por el localizador de objetos. Para todas las reglas de transformación, establézcalo en Parámetro necesario. |
rule-id |
Un valor numérico (entero). | Un único valor numérico para identificar la regla. Parámetro necesario. |
rule-name |
Un valor alfanumérico. | Un nombre exclusivo para identificar la regla. Parámetro necesario. |
rule-action |
add-prefix, remove-prefix,
replace-prefix, add-suffix,
remove-suffix, replace-suffix,
convert-uppercase,
convert-lowercase, rename,
change-data-type |
La transformación que desea aplicar al objeto. Todas las acciones de las reglas de transformación distinguen entre mayúsculas y minúsculas. Operaciones con prefijos:
Operaciones con sufijos:
conversión de mayúsculas y minúsculas
Modificación directa:
Alcance: las operaciones de conversión de prefijos, sufijos, cambio de nombre y mayúsculas y minúsculas se pueden aplicar a esquemas, tablas y columnas. La Parámetro necesario. |
rule-target |
database, schema,
table, view,
column, function result,
routine parameter, local
variable |
El tipo de objeto al que se aplicará la regla.
Parámetro necesario. |
object-locator |
Un objeto JSON. | Un objeto que identifica a qué objetos de la base de datos de origen se aplica la regla. Puede utilizar el signo de porcentaje ( El objeto contiene los siguientes campos de cadena:
Todos los nombres de objetos, como los nombres de tablas o columnas, de las reglas de transformación distinguen mayúsculas de minúsculas. En las siguientes secciones se describe cada campo de objeto. Parámetro necesario. |
object-locator | database-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre de la base de datos de origen. Aplicable a los proveedores de bases de datos en los que la arquitectura de la base de datos se origina en la base de datos como contenedor de objetos de nivel superior. Por ejemplo: Microsoft SQL Server, SAP ASE. Campo de objeto JSON opcional. |
object-locator | schema-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre del esquema de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | table-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre de la tabla de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | column-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre de la columna de la tabla de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | parent |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre del objeto de la base de datos de origen que es el padre del objeto especificado, por ejemplo, para En las bases de datos de algunos proveedores, el objeto al que se aplica la regla puede estar subordinado y requerir la especificación de su objeto principal. Por ejemplo, las funciones empaquetadas en Oracle, donde el padre es el nombre del paquete. Campo de objeto JSON opcional. |
object-locator | function-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre de la función de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | procedure-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | Nombre del procedimiento de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | parameter-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | Nombre del parámetro de procedimiento o función de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | local-variable-name |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El nombre de una variable local dentro de la función o el procedimiento de la base de datos de origen. Campo de objeto JSON opcional. |
object-locator | type |
Un valor alfanumérico. | El nombre del tipo de datos de origen que debe coincidir. Utilice este campo para aplicar la regla únicamente a los objetos con un tipo de datos específico. Campo de objeto JSON opcional. |
object-locator | precision |
Un valor numérico (entero). | La precisión del tipo de datos de origen que debe coincidir. Campo de objeto JSON opcional. |
object-locator | scale |
Un valor numérico (entero). | La escala del tipo de datos de origen que debe coincidir. Campo de objeto JSON opcional. |
object-locator | length |
Un valor numérico (entero). | La longitud del tipo de datos de origen que debe coincidir. Campo de objeto JSON opcional. |
value |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de destino. | El valor de texto utilizado por la acción de transformación. Para Necesario para todas las acciones excepto |
old-value |
Un valor alfanumérico que sigue las reglas de nomenclatura de la base de datos de origen. | El valor existente que se va a buscar y reemplazar en el nombre del objeto. Necesario para acciones como Parámetro opcional. |
data-type |
Un objeto JSON. | Un objeto que describe las propiedades del tipo de datos de reemplazo cuando El objeto contiene los siguientes campos:
En las siguientes secciones se describe cada campo de objeto. Parámetro opcional. |
data-type | type |
Un valor alfanumérico. | El nombre del tipo de datos de reemplazo para la columna de la base de datos de destino, si Campo de objeto JSON obligatorio. |
data-type | precision |
Un valor numérico (entero). | La precisión del tipo de datos de reemplazo para la base de datos de destino, si Campo de objeto JSON opcional. |
data-type | scale |
Un valor numérico (entero). | La escala del tipo de datos de reemplazo para la base de datos de destino, si Campo de objeto JSON opcional. |
data-type | length |
Un valor numérico (entero). | La longitud del tipo de datos de reemplazo para la base de datos de destino, si Campo de objeto JSON opcional. |
Ejemplos de reglas de transformación
Los siguientes ejemplos muestran el valor JSON del --transformation-rules parámetro para distintos tipos de reglas:
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Agregue un prefijo
DW_al esquemaSALES. -
Agregue un prefijo
FACT_a la tablaORDERSdel esquema.SALES -
Agregue un prefijo
OLD_a la columna deUNIT_PRICEla tablaPRODUCTSdel esquema.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_" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Elimina el prefijo
SRC_del esquemaSRC_FINANCE. -
Elimina el prefijo
TMP_de la tabla del esquemaTMP_INVOICES.SRC_FINANCE -
Elimina el prefijo
PAID_de la columna dePAID_AMOUNTla tablaTMP_PAYMENTSdel esquema.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_" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Sustituya el prefijo
OLD_por unNEW_esquemaOLD_INVENTORY. -
Sustituya el prefijo
STG_por «INT_en la tabla» enSTG_WAREHOUSESel esquema.OLD_INVENTORY -
Reemplace el prefijo por
SRC_una columnaTGT_SRC_WAREHOUSE_CODEen la tablaSTG_WAREHOUSESdel esquema.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_" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Agregue un sufijo
_HISTal esquemaHR_ARCHIVE. -
Agregue un sufijo
_HISTa la tablaJOB_CHANGESdel esquema.HR_ARCHIVE -
Agregue un sufijo
_TSa la columna deCREATED_ATla tablaEMPLOYEE_SALARIESdel esquema.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" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Elimina el sufijo
_FILESdel esquemaLEGAL_FILES. -
Elimine el sufijo
_V1de la tabla del esquemaCLAUSES_V1.LEGAL_FILES -
Elimine el sufijo
_CODEde la columna deCOUNTRY_CODEla tablaCONTRACTS_V1del esquema.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" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Sustituya el sufijo por
_DEVun_PRODesquemaREPORTING_DEV. -
Sustituya el sufijo
_RPTpor «_REPORTen la tabla» delMONTHLY_RPTesquema.REPORTING_DEV -
Reemplace el sufijo por
_IDuna columna_KEYCUSTOMER_IDen la tablaMONTHLY_RPTdel esquema.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" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Convierte todos los caracteres del nombre del esquema
CRM_LEGACYa mayúsculas. -
Convierte todos los caracteres del nombre de la tabla
CUSTOMER_ACCOUNTSdel esquemaCRM_LEGACYa mayúsculas. -
Convierte todos los caracteres del nombre de la columna de
FIRST_NAMEla tablaCUSTOMER_ACCOUNTSdel esquemaCRM_LEGACYa mayúsculas.
{ "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" } } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Convierte todos los caracteres del nombre del esquema
LOGISTICSa minúsculas. -
Convierte todos los caracteres del nombre de la tabla del esquema
SHIPMENT_ORDERSLOGISTICSa minúsculas. -
Convierte todos los caracteres del nombre de la columna de la
DESTINATION_CITYtabla del esquemaSHIPMENT_ORDERSLOGISTICSa minúsculas.
{ "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" } } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Cambie el nombre del esquema
TEST_SCHEMAa.TEST_NEW_SCHEMA -
Cambie el nombre de la tabla
REGIONSdel esquemaHRa.ORG_REGIONS -
Cambie el nombre de la columna de
CITYla tablaLOCATIONSen el esquemaHRa.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" } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Cambie el tipo de datos de la columna de
SALARYla tablaEMPLOYEESPAYROLLdel esquema deNUMBERaDECIMALcon una precisión de 18 y una escala de 4. -
Cambie el tipo de datos de la columna
NOTESde la tablaEMPLOYEESPAYROLLdel esquema deVARCHAR2aVARCHARcon una longitud de 350. -
Cambie el tipo de datos de la columna
HIRE_DATEdeEMPLOYEESla tablaPAYROLLdel esquema deDATEaTIMESTAMP WITH TIME ZONEcon precisión 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 } } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Cambie el tipo de datos del parámetro
P_AMOUNTPROCESS_PAYMENTen el procedimiento almacenado del esquemaFINANCEaNUMERIC. -
Cambie el tipo de datos de la variable local
V_TAX_RATEPROCESS_PAYMENTen el procedimiento almacenado del esquemaFINANCEa 10NUMERICcon precisión y escala 6. -
Cambie el tipo de datos de la variable local
V_DESCRIPTIONen la funciónCALC_DISCOUNTindependiente del esquemaFINANCEa una longitudCHARACTERde 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 } } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Cambie el tipo de datos de retorno de la función independiente
GET_PRODUCT_PRICEen el esquemaFNG_COMPANYaBIGINT. -
Cambie el tipo de datos de retorno de la función independiente
CALC_DISCOUNTED_PRICEen el esquemaFNG_COMPANYa.DECIMAL -
Cambie el tipo de datos devueltos de la función empaquetada
CALCULATE_TAXdentro del paquete delTAX_UTILSesquemaFNG_COMPANYaREAL.
{ "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" } } ] }
El siguiente ejemplo realiza estas acciones al convertir la base de datos de origen a la de destino:
-
Agregue un prefijo
MIGR_a todos los esquemas cuyos nombres comiencen por.STG_ -
Agregue un prefijo
MIGR_a todas las tablas de todos los esquemas cuyos nombres comiencen por.STG_ -
Agregue un sufijo
_NEWa todas las columnas cuyos nombres comiencen porSRC_en todas las tablas de todos los esquemas cuyos nombres comiencen por.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" } ] }