Ir para o conteúdo

Herança de Tabela

Novidade no Vinyl 2.7, há um recurso Herança de Tabela disponível para uso na Camada de Armazenamento de Dados. A herança de tabela permite que você não precise usar o conector de Vinyl se tudo ao qual você está se conectando for local. Para usar este recurso, você clicará no botão Edge Case disponível na tabela da qual deseja estender, ao trabalhar na camada de dados. É aqui que você configura e define esse recurso para uso. O campo Extends, disponível durante a configuração, exibe uma lista de todos os objetos de dados públicos que estão disponíveis no ambiente do servidor.

A herança essencialmente instrui o Vinyl a herdar uma cópia de todas as colunas e registros de dados que a tabela selecionada tem disponível na fonte de dados existente. Os registros de dados ainda residem no local da fonte de dados da tabela da qual você herdou. A suposição é que você herdaria uma tabela e, em seguida, acrescentaria novas colunas exclusivas a ela, conforme necessário.

A tabela local criada ao usar a herança armazena quaisquer chaves primárias junto com quaisquer colunas recém-adicionadas. A tabela recém-criada também herdará quaisquer validações, lógicas e/ou eventos da tabela de origem selecionada. Você pode usar a tabela herdada recém-criada para adicionar lógica de negócios a ela ou contra ela.

Por padrão, o Vinyl não refletirá automaticamente as alterações feitas na tabela de origem ou mestre na tabela Herdada. Consulte "Para capturar alterações da tabela herdada" para resolver esta situação.

Nota

Depois que a herança da tabela for definida para uma determinada tabela, esse valor não poderá ser modificado após ter sido salvo.

Extendível

Para Configurar a Herança de Tabela

A herança de tabela está disponível na camada de dados. As etapas descritas aqui pressupõem que você deseja estender uma tabela para a mesma fonte de dados. A opção para estender uma tabela para uma fonte de dados diferente está descrita na seção Exemplo de uso abaixo.

  1. Navegue até App Workbench
  2. Localize a tabela existente que deseja estender e clique no botão Design. Por exemplo: Cliente
  3. Clique no botão Caso extremo
  4. Clique no botão Estender
  5. Deixe o valor Extends como está, isso representa a tabela nomeada sendo estendida. Por exemplo: Cliente
  6. Atribua um Nome exclusivo para a nova tabela. Por exemplo: CustomerExtend
  7. Clique em Salvar
  8. O Vinyl traz todas as colunas herdadas para o painel Colunas
  9. Clique em Criar e adicione quaisquer novas colunas necessárias

Para Capturar Alterações da Tabela Herdada

Por design, a herança de tabela não trará automaticamente as alterações de coluna feitas na origem selecionada ou na tabela mestre da qual você está herdando. Se quiser capturar alterações da tabela de origem, você pode usar o botão Importar disponível na camada de dados.

  1. Navegue até App Workbench
  2. Localize a tabela existente que deseja atualizar e clique no botão Design. Por exemplo: CustomerExtend
  3. Clique no botão Caso extremo
  4. Clique no botão Importar
  5. O Vinyl solicitará "Importar alterações para a tabela atual?", clique em Continuar
  6. O Vinyl será solicitado após a importação das alterações e quaisquer atualizações de coluna ficarão visíveis no painel Colunas. Por exemplo: Sucesso!

Exemplo de Uso

O exemplo a seguir descreve um cenário em que você pode usar Herança de Tabela; nesse cenário, você deseja estender uma tabela de uma fonte de dados para outra fonte de dados. Um exemplo em que você pode usar a herança de tabela é se você quiser criar uma tabela de parâmetros do usuário a partir de um objeto de dados público em uma fonte de dados que você estende para uma fonte de dados diferente. Com este cenário, descreveremos as etapas básicas que você seguiria para começar:

  1. Navegue até App Workbench, Business Layer e confirme se App Data Sources tem a fonte de dados selecionada onde você deseja que a tabela estendida resida. Por exemplo: Ventos Norte
  2. Abra o registro de qualquer uma das tabelas existentes nesta fonte de dados
  3. Clique no botão Caso extremo
  4. Clique no botão Estender
  5. Selecione a tabela que deseja estender no menu suspenso Extend. Por exemplo: Se_User da fonte de dados Vinyl
  6. Confirme se o valor Nome é o nome que você deseja que a tabela estendida seja nomeada. Por exemplo: Se_User_Extension
  7. Clique em Salvar
  8. Clique em Edge Case e confirme se a tabela de extensão tem Suporte CRUD marcado ou habilitado para Inserível, Atualizável, Deletável
  9. Crie uma nova coluna Booleana na tabela de extensão. Por exemplo: BooleanTest

    Booleantest

  10. Crie uma Regra Crud para atualizar todos os registros do valor booleano para 1. Certifique-se de habilitar Business Layer nas configurações da Regra CRUD Purpose.

    Crud Booleano

  11. Clique no botão Edge Case e marque para ativar Business Layer

  12. Clique em Salvar
  13. Clique em x para sair da tela

    Lógica Bruta

  14. Confirme a regra Crud Resultados mostram todas as contas de usuário existentes com campo booleano marcado como 1

  15. Clique no botão Executar para executar a regra CRUD
  16. Navegue até a camada de armazenamento de dados, até a tabela que você estendeu e confirme se a coluna booleana agora indica 1 para todas as contas de usuário