View a markdown version of this page

Regras de transformação na conversão do esquema DMS - AWS Database Migration Service

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.

AWS Management Console
Para criar regras de transformação usando o console
  1. Na página Criar projeto de migração, escolha Adicionar regra de transformação. Para obter mais informações, consulte Criar projetos de migração.

  2. Em Destino da regra, escolha o tipo de objetos de banco de dados aos quais essa regra se aplica. O assistente do console oferece suporte schema table e column alvos. Para usar outros destinos, como database ouview, use o editor JSON no console ou na AWS CLI.

  3. Em Esquema de origem, escolha Inserir um esquema. Em seguida, especifique os esquemas, tabelas e colunas de origem aos quais essa regra se aplica. Você pode usar um nome exato para selecionar um objeto ou usar um padrão com o sinal de porcentagem (%) como curinga para corresponder a qualquer número de caracteres.

  4. Em Ação, escolha a tarefa a ser executada.

  5. Dependendo da ação da regra, insira valores adicionais:

    • add-prefixou add-suffix — Insira o texto a ser adicionado.

    • remove-prefixou remove-suffix — Insira o texto a ser removido.

    • replace-prefixou replace-suffix — Insira o texto existente e o texto substituto.

    • rename— Insira o novo nome para o objeto.

    • convert-uppercaseou convert-lowercase — Não são necessários valores adicionais.

    • change-data-type— Insira o nome do tipo de dados de destino e, opcionalmente, a precisão, a escala ou o comprimento.

  6. Escolha Adicionar regra de transformação para adicionar outra regra de transformação.

    Ao concluir a adição de regras, escolha Criar projeto de migração.

AWS CLI

Para adicionar regras de transformação usando a AWS CLI, use o --transformation-rules parâmetro com um dos seguintes comandos:

O exemplo a seguir adiciona regras de transformação a um projeto de migração existente:

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

Para executar esse comando em uma região específica da AWS, adicione o --region parâmetro, por exemplo--region us-west-2.

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

AWS Management Console

Para visualizar as regras de transformação usando o AWS Management Console, escolha Modificar em um projeto de migração existente e revise a lista de regras existentes na seção Regras de transformação.

AWS CLI

Para recuperar as regras de transformação de um projeto existente de migração do DMS Schema Conversion, use o comando describe-migration-projects. A resposta usa o formato JSON e inclui as regras de transformação associadas ao projeto.

O exemplo de AWS CLI a seguir recupera as regras de transformação de um projeto de migração:

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

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.

AWS Management Console
Como editar regras de transformação
  1. Escolha Projetos de migração e escolha o projeto de migração.

  2. Escolha Modificar para editar as configurações do projeto de migração.

  3. Em Regas de transformação, escolha uma das seguintes ações:

    • Escolha Adicionar regra de transformação para adicionar uma nova regra de transformação.

    • Escolha Duplicar para duplicar uma regra de transformação existente e adicioná-la ao final da lista.

    • Escolha Remover para remover uma regra de transformação existente.

    • Escolha a regra de transformação existente para editá-la.

  4. Ao concluir a edição das regras, escolha Salvar alterações.

AWS CLI

Para atualizar as regras de transformação usando a AWS CLI, use o comando modify-migration-project com o parâmetro. --transformation-rules Passe o conjunto completo de regras atualizado como uma string JSON.

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

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

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:

  • add-prefix— Adicione um texto específico ao início de um nome.

  • remove-prefix— Remover um texto especificado do início de um nome.

  • replace-prefix— Substitua um prefixo existente por um novo.

Operações de sufixo:

  • add-suffix— Adicione um texto específico ao final de um nome.

  • remove-suffix— Remover um texto especificado do final de um nome.

  • replace-suffix— Substitua um sufixo existente por um novo.

Conversão de casos:

  • convert-uppercase— Converta todos os caracteres de um nome em maiúsculas.

  • convert-lowercase— Converta todos os caracteres de um nome em minúsculas.

Modificação direta:

  • rename— Altere o nome para um valor especificado completamente novo.

  • change-data-type— Modifique o tipo de dados de uma coluna ou variável local para um tipo de dados diferente.

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 change-data-type operação se aplica somente a colunas, valores de retorno de funções, parâmetros de rotina e variáveis locais.

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.

  • database— Banco de dados.

  • schema— Esquema do banco de dados.

  • table— Tabela do banco de dados.

  • view— Visualização do banco de dados.

  • column— Tabela do banco de dados ou coluna de visualização.

  • function result— Valor de retorno da função.

  • routine parameter— Procedimento armazenado ou parâmetro de função.

  • local variable— Variável local dentro do procedimento ou função armazenada.

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 (%) como um curinga para todo ou parte do valor em cada campo do object-locator objeto.

O objeto contém os seguintes campos de string:

  • database-name

  • schema-name

  • table-name

  • column-name

  • parent

  • function-name

  • procedure-name

  • parameter-name

  • local-variable-name

  • type

  • precision

  • scale

  • length

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

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 add-prefix eadd-suffix, especifica o texto a ser adicionado. Para remove-prefix eremove-suffix, especifica o texto a ser removido. Para replace-prefix ereplace-suffix, especifica o texto de substituição. Pararename, especifica o novo nome.

Obrigatório para todas as ações convert-uppercaseconvert-lowercase, exceto, change-data-type e.

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

Parâmetro opcional.

data-type Um objeto JSON.

Um objeto que descreve as propriedades do tipo de dados de substituição quando rule-action échange-data-type.

O objeto contém os campos a seguir.

  • type: seqüência

  • precision: número

  • scale: número

  • length: número

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 rule-action forchange-data-type. Deve ser um tipo de dados de banco de dados de destino válido.

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 rule-action forchange-data-type.

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 rule-action forchange-data-type.

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 rule-action forchange-data-type.

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_ à tabela ORDERS no esquemaSALES.

  • Adicione prefixo OLD_ à coluna UNIT_PRICE na tabela PRODUCTS no 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 tabela TMP_INVOICES no esquemaSRC_FINANCE.

  • Remova o prefixo PAID_ da coluna PAID_AMOUNT na tabela TMP_PAYMENTS no 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 esquema NEW_ OLD_INVENTORY in.

  • Substitua o STG_ prefixo pela tabela INT_ STG_WAREHOUSES no esquemaOLD_INVENTORY.

  • Substitua o SRC_ prefixo pela coluna TGT_ SRC_WAREHOUSE_CODE na tabela STG_WAREHOUSES no 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 _HIST ao esquemaHR_ARCHIVE.

  • Adicione um sufixo _HIST à tabela JOB_CHANGES no esquemaHR_ARCHIVE.

  • Adicione sufixo _TS à coluna CREATED_AT na tabela EMPLOYEE_SALARIES no 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 _FILES do esquemaLEGAL_FILES.

  • Remova o sufixo _V1 da tabela CLAUSES_V1 no esquemaLEGAL_FILES.

  • Remova o sufixo _CODE da coluna COUNTRY_CODE na tabela CONTRACTS_V1 no 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 _DEV pelo esquema _PROD REPORTING_DEV in.

  • Substitua o sufixo _RPT pela tabela _REPORT MONTHLY_RPT no esquemaREPORTING_DEV.

  • Substitua o sufixo _ID pela coluna _KEY CUSTOMER_ID na tabela MONTHLY_RPT no 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_LEGACY maiúsculas.

  • Converta todos os caracteres do nome da tabela CUSTOMER_ACCOUNTS no esquema em CRM_LEGACY maiúsculas.

  • Converta todos os caracteres no nome da coluna FIRST_NAME na tabela no esquema CUSTOMER_ACCOUNTS em CRM_LEGACY maiú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 LOGISTICS em minúsculas.

  • Converta todos os caracteres do nome da tabela SHIPMENT_ORDERS no esquema LOGISTICS em minúsculas.

  • Converta todos os caracteres no nome da coluna DESTINATION_CITY na tabela SHIPMENT_ORDERS no esquema LOGISTICS para 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_SCHEMA para. TEST_NEW_SCHEMA

  • Renomeie a tabela REGIONS no esquema HR para. ORG_REGIONS

  • Renomeie a coluna CITY na tabela LOCATIONS no esquema HR para. 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 SALARY EMPLOYEES na tabela no esquema PAYROLL de NUMBER para DECIMAL com precisão 18 e escala 4.

  • Altere o tipo de dados da coluna NOTES EMPLOYEES na tabela no esquema PAYROLL de VARCHAR2 para VARCHAR com comprimento 350.

  • Altere o tipo de dados da coluna HIRE_DATE EMPLOYEES na tabela no esquema PAYROLL de DATE para TIMESTAMP WITH TIME ZONE com 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_AMOUNT no procedimento armazenado PROCESS_PAYMENT no esquema FINANCE paraNUMERIC.

  • Altere o tipo de dados da variável local V_TAX_RATE no procedimento armazenado PROCESS_PAYMENT no esquema FINANCE para NUMERIC com precisão 10 e escala 6.

  • Altere o tipo de dados da variável local V_DESCRIPTION na função autônoma CALC_DISCOUNT no esquema FINANCE para CHARACTER com 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_PRICE no esquema FNG_COMPANY para. BIGINT

  • Altere o tipo de dados de retorno da função autônoma CALC_DISCOUNTED_PRICE no esquema FNG_COMPANY para. DECIMAL

  • Altere o tipo de dados de retorno da função empacotada CALCULATE_TAX dentro do pacote TAX_UTILS no esquema FNG_COMPANY para. 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 _NEW a todas as colunas cujos nomes comecem com SRC_ 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" } ] }