Module: @nginstack/engine/lib/schema/DatabaseSchema

Classes

DatabaseSchema

Type Definitions


ColumnDef

Definição de uma coluna a ser utilizada nos métodos de criação e alteração de tabelas.

Type:
  • Object
Properties:
Name Type Argument Default Description
name string

Nome da coluna.

dataType string

Tipo normalizado da coluna. Deverá ser um dos tipos indicados em DatabaseDataType.

charLength number <optional>

Tamanho máximo em caracteres das colunas do tipo 'char' e 'varchar'.

numericPrecision number <optional>
38

Precisão do tipo 'numeric'. Caso não seja informado, será considerado 38.

numericScale number <optional>
10

Escala do tipo 'numeric'. Caso não seja informado, será considerado 10.

nullable boolean <optional>
true

Indica que a coluna permite o valor nulo. Caso não seja informado, serão permitidos valores nulos.

unique boolean <optional>

Indica que a coluna tem uma restrição de unicidade dos valores. Será true apenas se a restrição for aplicada exclusivamente a esta coluna. Restrições de unicidade aplicadas em um conjunto de colunas não garantem que os valores individuais de cada coluna são únicos.

sparse boolean <optional>

Indica que a coluna é otimizada para gravar valores nulos. O conceito de colunas esparsas é exclusivo do Microsoft SQL Server e os demais SGBDs já otimizam a gravação de nulos de forma padrão. No Oracle e PostgreSQL, essa propriedade será ignorada.


ColumnInfo

Informações de uma coluna da base de dados.

Type:
  • Object
Properties:
Name Type Argument Description
name string

Nome da coluna.

dataType string <nullable>

Tipo normalizado da coluna. Deverá ser um dos tipos indicados em DatabaseDataType ou nulo caso o tipo não seja suportado pelo Engine.

nativeDataType string

Tipo nativo que irá variar de acordo com o SGBD consultado.

charLength number <nullable>

Tamanho máximo em caracteres das colunas do tipo 'char' e 'varchar'.

numericPrecision number <nullable>

Precisão dos tipos numéricos.

numericScale number <nullable>

Escala dos tipos numérico.

nullable boolean

Indica que a coluna permite o valor nulo.

unique boolean

Indica que a coluna tem uma restrição de unicidade dos valores. Será true apenas se a restrição for aplicada exclusivamente a esta coluna. Restrições de unicidade aplicadas em um conjunto de colunas não garantem que os valores individuais de cada coluna são únicos.

sparse boolean

Indica que a coluna é otimizada para gravar valores nulos. O conceito de colunas esparsas é exclusivo do Microsoft SQL Server e os demais SGBDs já otimizam a gravação de nulos de forma padrão. No Oracle e PostgreSQL, essa propriedade sempre será false.

See:

Database

Type:

IndexDef

Definição de um índice, utilizada no método de criação de índices.

Type:
  • Object
Properties:
Name Type Argument Description
name string

Nome do índice.

columns Array.<string>

Colunas indexadas.

columnsOrder Array.<string> <optional>

Array de mesmo tamanho de columns, indicando a ordem da coluna no índice. Valores possíveis: 'ASC' e 'DESC'. Se não for informado, será considerado ascendente.

filterPredicate string <optional>

Expressão de filtro dos registros indexados. Recurso não suportado no Oracle.

unique boolean <optional>

Indica que é um índice único. Índices únicos garantem que os valores contidos neles não se repetem.

tablespace string <optional>

Nome do tablespace onde o índice será criado. O Microsoft SQL Server não possui o conceito de tablespaces, portanto, nesse SGBD específico, será considerado como o filegroup, recurso específico desse SGBD que permite implementar uma segregação equivalente a obtida com o uso dos tablespaces.

compressed boolean <optional>

Indica se o índice deve comprimir as chaves. Esse é um recurso exclusivo do Oracle e é habilitado por meio da opção "COMPRESS" no comando de criação do índice. Essa opção será ignorada para os demais SGBDs.


IndexInfo

Informações de um índice da base de dados.

Type:
  • Object
Properties:
Name Type Description
name string

Nome do índice.

columns Array.<string>

Colunas indexadas.

columnsOrder Array.<string>

Array de mesmo tamanho de columns, indicando a ordem da coluna no índice. Valores possíveis: 'ASC' e 'DESC'.

filterPredicate string

Expressão de filtro dos registros indexados. A expressão será apresentada em uma representação interna e específica por SGBD. Não é esperado que ela seja igual à expressão informada no momento da construção do índice e ela pode ser alterada em versões futuras do SGBD.

unique boolean

Indica que é um índice único. Índices únicos garantem que os valores contidos neles não se repetem.

constraintType string

Tipo da restrição que criou esse índice, caso ele tenha sido criado para validar a chave primária ou alguma outra restrição da tabela. Valores possíveis: 'PRIMARY KEY' ou 'UNIQUE'.

tablespace string

Nome do tablespace que contém este índice. O Microsoft SQL Server não possui o conceito de tablespaces, portanto, nesse SGBD específico, será retornado o nome do filegroup, recurso específico desse SGBD que permite implementar uma segregação equivalente a obtida com o uso dos tablespaces. Retornará uma string vazia caso seja uma tabela particionada do Oracle ou se a tabela tiver mais de um filegroup no Microsoft SQL Server.

compressed boolean

Indica se o índice tem o recurso de compressão de chaves habilitado. Esse é um recurso exclusivo do Oracle e essa propriedade sempre será falsa para os demais SGBDs.

valid boolean

Indica se o índice é válido e está sendo considerado pelo otimizador dos planos de execução. Um índice poderá ficar inválido temporariamente durante a sua criação, caso a opção online esteja ativa, e poderá ficar permanentemente nesse estado caso ocorra uma falha durante a sua criação (no caso do PostgreSQL). Índices também podem ser desativados manualmente pelo DBA.


TableInfo

Informações de uma tabela da base de dados.

Type:
  • Object
Properties:
Name Type Description
name string

Nome da tabela.

primaryKey Array.<string>

Nome das colunas que definem a chave primária da tabela.

tablespace string

Nome do tablespace que contém esta tabela. O Microsoft SQL Server não possui o conceito de tablespaces, portanto, nesse SGBD específico, será retornado o nome do filegroup, recurso específico desse SGBD que permite implementar uma segregação equivalente a obtida com o uso dos tablespaces.


TriggerInfo

Informações de uma trigger em uma tabela da base de dados.

Type:
  • Object
Properties:
Name Type Description
name string

Nome da trigger.

eventManipulation Array.<string>

Eventos que disparam a trigger. Indica os tipos de operações associadas à tabela que ativam a trigger, podendo ser: 'INSERT', 'DELETE' ou 'UPDATE'.

actionOrientation string

Identifica se a trigger irá disparar para cada registro processado ou uma única vez para cada instrução. Valores possíveis: 'ROW' ou 'STATEMENT'.

actionTiming string

Indica se a trigger será executada antes, depois ou substituirá o evento de manipulação. Valores possíveis: 'BEFORE', 'AFTER' ou 'INSTEAD OF'.

actionCondition string

Condição que indica se a ação deverá ser executada. A condição será apresentada em uma representação interna e específica por SGBD. Não é esperado que ela seja igual à definição informada no momento da construção da trigger e ela pode ser alterada em versões futuras do SGBD.

actionStatement string

Instrução que será executada quando a trigger for ativada. A instrução será apresentada em uma representação interna e específica por SGBD. Não é esperado que ela seja igual à definição informada no momento da construção da trigger e ela pode ser alterada em versões futuras do SGBD.

enabled boolean

Indica se a trigger está habilitada.


ViewInfo

Informações de uma visão de tabela na base de dados.

Type:
  • Object
Properties:
Name Type Description
name string

Nome da visão.

definition string

Definição da visão. A definição será apresentada em uma representação interna e específica por SGBD. Não é esperado que ela seja igual à definição informada no momento da construção da visão e ela pode ser alterada em versões futuras do SGBD.