As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Regras de transformação na conversão do esquema DMS
As regras de transformação permitem que você personalize como a Conversão de Esquema do DMS converte seus objetos de banco de dados, substituindo a nomenclatura padrão e os mapeamentos de tipo de dados. Você pode aplicar essas regras a bancos de dados, esquemas, tabelas, visualizações, colunas, valores de retorno de funções, parâmetros de rotina e variáveis locais.
Por exemplo, suponha que você tenha um conjunto de tabelas no esquema de origem chamado test_TABLE_NAME. É possível configurar uma regra que altera o prefixo test_ para o prefixo demo_ no esquema de destino.
É possível criar regras de transformação que executam as seguintes tarefas:
-
Adicionar, remover ou substituir um prefixo
-
Adicionar, remover ou substituir um sufixo
-
Alterar o tipo de dados de uma coluna, valor de retorno da função, parâmetro de rotina ou variável local
-
Converter o nome do objeto em minúsculas ou maiúsculas
-
Renomear um objeto
Criar regras de transformação
A DMS Schema Conversion armazena regras de transformação como parte do projeto de migração. Para definir regras de transformação, passe-as como uma string JSON que contém um objeto com uma rules matriz ao criar ou modificar um projeto de migração. Cada elemento na matriz representa um objeto de regra separado. Um projeto de migração oferece suporte a até 512 regras de transformação (máximo de 128 KB).
A estrutura da matriz com regras de transformação é a seguinte:
{ "rules": [ {Rule object 1}, {Rule object 2}, ... {Rule object N} ] }
É possível adicionar várias regras de transformação no projeto. A DMS Schema Conversion aplica as regras de transformação durante a conversão na mesma ordem em que são adicionadas.
Se várias regras tiverem como alvo o mesmo objeto, o comportamento dependerá do tipo de ação. Todas as regras com diferentes tipos de ação entram em vigor. Por exemplo, uma add-prefix regra e uma add-suffix regra se aplicam. Regras com o mesmo tipo de ação se substituem e somente a última entra em vigor.
Para criar regras de transformação, use um dos métodos a seguir.
Para editar, duplicar ou remover as regras de transformação existentes, consulteEditar regras de transformação.
Recuperando regras de transformação
Você pode recuperar as regras de transformação de um projeto existente de migração do DMS Schema Conversion usando o AWS Management Console ou a CLI. AWS
Editar regras de transformação
Para editar, adicionar ou remover regras de transformação em seu projeto de migração, use um dos métodos a seguir.
Formato da regra de transformação
Uma regra de transformação usa campos de objeto JSON para definir como converter um objeto de origem em seu equivalente de destino. Cada tipo de regra usa um conjunto específico de campos. Inclua somente os campos que se aplicam à sua tarefa.
O objeto JSON a seguir descreve uma regra de transformação de conversão de esquema do 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] } ] }
A tabela a seguir descreve cada parâmetro.
| Parâmetro | Possíveis valores | Description |
|---|---|---|
rule-type |
transformation |
Um valor que aplica a regra a cada objeto especificado pelo localizador de objetos. Para todas as regras de transformação, defina isso como Parâmetro necessário. |
rule-id |
Um valor numérico (inteiro). | Um valor numérico exclusivo para identificar a regra. Parâmetro necessário. |
rule-name |
Um valor alfanumérico. | Um nome exclusivo para identificar a regra. Parâmetro necessário. |
rule-action |
add-prefix, remove-prefix,
replace-prefix, add-suffix,
remove-suffix, replace-suffix,
convert-uppercase,
convert-lowercase, rename,
change-data-type |
A transformação que você quer aplicar ao objeto. Todas as ações de regra de transformação diferenciam maiúsculas e minúsculas. Operações de prefixo:
Operações de sufixo:
Conversão de casos:
Modificação direta:
Escopo: operações de prefixo, sufixo, renomeação e conversão de maiúsculas e minúsculas podem ser aplicadas a esquemas, tabelas e colunas. A Parâmetro necessário. |
rule-target |
database, schema,
table, view,
column, function result,
routine parameter, local
variable |
O tipo de objeto ao qual a regra será aplicada.
Parâmetro necessário. |
object-locator |
Um objeto JSON. | Um objeto que identifica a quais objetos do banco de dados de origem a regra se aplica. Você pode usar o sinal de porcentagem ( O objeto contém os seguintes campos de string:
Todos os nomes de objetos, como nomes de tabelas ou colunas, nas regras de transformação diferenciam maiúsculas de minúsculas. As seções a seguir descrevem cada campo do objeto. Parâmetro necessário. |
object-locator | database-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome do banco de dados de origem. Aplicável para fornecedores de banco de dados em que a arquitetura do banco de dados se origina do banco de dados como o contêiner de objetos de nível superior. Por exemplo: Microsoft SQL Server, SAP ASE. Campo de objeto JSON opcional. |
object-locator | schema-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome do esquema do banco de dados de origem. Campo de objeto JSON opcional. |
object-locator | table-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome da tabela do banco de dados de origem. Campo de objeto JSON opcional. |
object-locator | column-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome da coluna da tabela do banco de dados de origem. Campo de objeto JSON opcional. |
object-locator | parent |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome do objeto do banco de dados de origem que é o pai do objeto especificado, por exemplo, para o Em bancos de dados de alguns fornecedores, o objeto ao qual a regra é aplicada pode estar subordinado e exigir a especificação de seu pai. Por exemplo, funções empacotadas no Oracle, em que o pai é o nome do pacote. Campo de objeto JSON opcional. |
object-locator | function-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome da função do banco de dados de origem. Campo de objeto JSON opcional. |
object-locator | procedure-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome do procedimento do banco de dados de origem. Campo de objeto JSON opcional. |
object-locator | parameter-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome da função do banco de dados de origem ou do parâmetro do procedimento. Campo de objeto JSON opcional. |
object-locator | local-variable-name |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O nome de uma variável local na função ou procedimento do banco de dados de origem. Campo de objeto JSON opcional. |
object-locator | type |
Um valor alfanumérico. | O nome do tipo de dados de origem a ser correspondente. Use esse campo para aplicar a regra somente a objetos com um tipo de dados específico. Campo de objeto JSON opcional. |
object-locator | precision |
Um valor numérico (inteiro). | A precisão do tipo de dados de origem a ser correspondente. Campo de objeto JSON opcional. |
object-locator | scale |
Um valor numérico (inteiro). | A escala do tipo de dados de origem a ser correspondente. Campo de objeto JSON opcional. |
object-locator | length |
Um valor numérico (inteiro). | O comprimento do tipo de dados de origem a ser correspondente. Campo de objeto JSON opcional. |
value |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de destino. | O valor do texto usado pela ação de transformação. Para Obrigatório para todas as ações |
old-value |
Um valor alfanumérico que segue as regras de nomenclatura do banco de dados de origem. | O valor existente a ser encontrado e substituído no nome do objeto. Necessário para ações como Parâmetro opcional. |
data-type |
Um objeto JSON. | Um objeto que descreve as propriedades do tipo de dados de substituição quando O objeto contém os campos a seguir.
As seções a seguir descrevem cada campo do objeto. Parâmetro opcional. |
data-type | type |
Um valor alfanumérico. | O nome do tipo de dados de substituição para a coluna do banco de dados de destino, se Campo de objeto JSON obrigatório. |
data-type | precision |
Um valor numérico (inteiro). | A precisão do tipo de dados de substituição para o banco de dados de destino, se Campo de objeto JSON opcional. |
data-type | scale |
Um valor numérico (inteiro). | A escala do tipo de dados de substituição para o banco de dados de destino, se Campo de objeto JSON opcional. |
data-type | length |
Um valor numérico (inteiro). | O tamanho do tipo de dados de substituição para o banco de dados de destino, se Campo de objeto JSON opcional. |
Exemplos de regras de transformação
Os exemplos a seguir mostram o valor JSON do --transformation-rules parâmetro para diferentes tipos de regras:
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Adicione prefixo
DW_ao esquemaSALES. -
Adicione prefixo
FACT_à tabelaORDERSno esquemaSALES. -
Adicione prefixo
OLD_à colunaUNIT_PRICEna tabelaPRODUCTSno esquemaSALES.
{ "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_" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Remova o prefixo
SRC_do esquemaSRC_FINANCE. -
Remova o prefixo
TMP_da tabelaTMP_INVOICESno esquemaSRC_FINANCE. -
Remova o prefixo
PAID_da colunaPAID_AMOUNTna tabelaTMP_PAYMENTSno esquemaSRC_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_" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Substitua o prefixo
OLD_pelo esquemaNEW_OLD_INVENTORYin. -
Substitua o
STG_prefixo pela tabelaINT_STG_WAREHOUSESno esquemaOLD_INVENTORY. -
Substitua o
SRC_prefixo pela colunaTGT_SRC_WAREHOUSE_CODEna tabelaSTG_WAREHOUSESno esquemaOLD_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_" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Adicione um sufixo
_HISTao esquemaHR_ARCHIVE. -
Adicione um sufixo
_HISTà tabelaJOB_CHANGESno esquemaHR_ARCHIVE. -
Adicione sufixo
_TSà colunaCREATED_ATna tabelaEMPLOYEE_SALARIESno esquemaHR_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" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Remova o sufixo
_FILESdo esquemaLEGAL_FILES. -
Remova o sufixo
_V1da tabelaCLAUSES_V1no esquemaLEGAL_FILES. -
Remova o sufixo
_CODEda colunaCOUNTRY_CODEna tabelaCONTRACTS_V1no esquemaLEGAL_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" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Substitua o sufixo
_DEVpelo esquema_PRODREPORTING_DEVin. -
Substitua o sufixo
_RPTpela tabela_REPORTMONTHLY_RPTno esquemaREPORTING_DEV. -
Substitua o sufixo
_IDpela coluna_KEYCUSTOMER_IDna tabelaMONTHLY_RPTno esquemaREPORTING_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" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Converta todos os caracteres do nome do esquema em
CRM_LEGACYmaiúsculas. -
Converta todos os caracteres do nome da tabela
CUSTOMER_ACCOUNTSno esquema emCRM_LEGACYmaiúsculas. -
Converta todos os caracteres no nome da coluna
FIRST_NAMEna tabela no esquemaCUSTOMER_ACCOUNTSemCRM_LEGACYmaiú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" } } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Converta todos os caracteres do nome do esquema
LOGISTICSem minúsculas. -
Converta todos os caracteres do nome da tabela
SHIPMENT_ORDERSno esquemaLOGISTICSem minúsculas. -
Converta todos os caracteres no nome da coluna
DESTINATION_CITYna tabelaSHIPMENT_ORDERSno esquemaLOGISTICSpara 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" } } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Renomeie o esquema
TEST_SCHEMApara.TEST_NEW_SCHEMA -
Renomeie a tabela
REGIONSno esquemaHRpara.ORG_REGIONS -
Renomeie a coluna
CITYna tabelaLOCATIONSno esquemaHRpara.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" } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Altere o tipo de dados da coluna
SALARYEMPLOYEESna tabela no esquemaPAYROLLdeNUMBERparaDECIMALcom precisão 18 e escala 4. -
Altere o tipo de dados da coluna
NOTESEMPLOYEESna tabela no esquemaPAYROLLdeVARCHAR2paraVARCHARcom comprimento 350. -
Altere o tipo de dados da coluna
HIRE_DATEEMPLOYEESna tabela no esquemaPAYROLLdeDATEparaTIMESTAMP WITH TIME ZONEcom precisão 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 } } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Altere o tipo de dados do parâmetro
P_AMOUNTno procedimento armazenadoPROCESS_PAYMENTno esquemaFINANCEparaNUMERIC. -
Altere o tipo de dados da variável local
V_TAX_RATEno procedimento armazenadoPROCESS_PAYMENTno esquemaFINANCEparaNUMERICcom precisão 10 e escala 6. -
Altere o tipo de dados da variável local
V_DESCRIPTIONna função autônomaCALC_DISCOUNTno esquemaFINANCEparaCHARACTERcom comprimento 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 } } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Altere o tipo de dados de retorno da função autônoma
GET_PRODUCT_PRICEno esquemaFNG_COMPANYpara.BIGINT -
Altere o tipo de dados de retorno da função autônoma
CALC_DISCOUNTED_PRICEno esquemaFNG_COMPANYpara.DECIMAL -
Altere o tipo de dados de retorno da função empacotada
CALCULATE_TAXdentro do pacoteTAX_UTILSno esquemaFNG_COMPANYpara.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" } } ] }
O exemplo a seguir executa essas ações ao converter do banco de dados de origem para o de destino:
-
Adicione prefixo
MIGR_a todos os esquemas cujos nomes comecem com.STG_ -
Adicione prefixo
MIGR_a todas as tabelas em todos os esquemas cujos nomes comecem com.STG_ -
Adicione sufixo
_NEWa todas as colunas cujos nomes comecem comSRC_em todas as tabelas em todos os esquemas cujos nomes comecem com.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" } ] }