Características do esquema

As características de um schema que faz referência a uma tabela existente são as seguintes:

  • O Adobe Campaign não deve modificar objetos SQL em relação às tabelas existentes,
  • Os nomes das tabelas e colunas devem ser especificados explicitamente,
  • Os índices devem ser declarados.
IMPORTANTE

Não exclua campos na tabela de recipients padrão, mesmo que eles não sejam úteis. Isso pode causar erros de comportamento no banco de dados do Adobe Campaign.

O atributo de exibição

Os esquemas de origem aceitam o exibir para o srcSchema elemento raiz. Ele deve ser usado quando o Adobe Campaign é manipulado em tabelas personalizadas. O view="true" informa ao assistente de atualização da estrutura do banco de dados para ignorar esse esquema. Portanto, o aplicativo é proibido de sincronizar a tabela, suas colunas e seus índices com o schema correspondente.

Quando este atributo é definido como true, o schema é usado apenas para gerar consultas SQL para acessar os dados desta tabela.

Nomes de tabelas e colunas

Quando tabelas são criadas pelo assistente de atualização de tabela, os nomes das tabelas e colunas são gerados automaticamente com base nos nomes dos esquemas e atributos respectivos. No entanto, é possível forçar os nomes SQL a serem usados inserindo os seguintes atributos:

  • sqltable no elemento principal do schema , para especificar a tabela,
  • sqlname em cada atributo, para especificar as colunas.

Exemplo:

<element label="Individual" name="individual" sqltable="individual">
    <key internal="true" name="id">
      <keyfield xpath="@id"/>
    </key> 
    <attribute name="id" type="long" length="32" />
    <attribute name="lastName" type="string" length="100" sqlname="Last_Name"/>
    <attribute name="firstName" type="string" length="100" sqlname="First_Name"/>
    <attribute name="email" type="string" length="100"/>
    <attribute name="mobile" type="string" length="100"/>
</element>

Neste exemplo, se os nomes das tabelas e colunas não tivessem sido explicitamente especificados, o aplicativo teria usado CusIndividual para o quadro, lastName e firstName para as colunas.

Em um schema, é possível preencher apenas parte das colunas de uma tabela existente. Colunas não preenchidas não serão acessíveis ao usuário.

Campos indexados

Ao classificar os registros de uma lista no console do cliente, é obtido melhor desempenho ao classificar em campos indexados. Declarar um índice em um schema faz com que o console exiba os campos indexados com uma linha vermelha sob a seta de ordem de classificação à esquerda do rótulo da coluna, conforme mostrado abaixo:

Em um schema, um índice é definido da seguinte maneira:

<dbindex name="name_of_index" unique="true/false"
  <keyfield xpath="xpath_1st_field"/
  <keyfield xpath="xpath_2nd_field"/
  ...
</dbindex

É por isso que é importante declarar índices existentes da tabela personalizada no schema correspondente.

Um índice é declarado implicitamente para cada declaração de chave e link do schema de origem. A declaração de índice pode ser impedida pela especificação do noDbIndex="true" atributo:

Exemplo:

<key internal="true" name="customer" noDbIndex="true">
  <keyfield xpath="@customerId"/>
</key>

Nesta página