Class: DBBackup

@nginstack/engine/lib/database/DBBackup~ DBBackup


new DBBackup(options)

Classe que permite criar e restaurar cópias da base de dados.

O formato do arquivo gerado por esta classe é proprietário e somente pode ser restaurado pelo método restore desta mesma classe. A estratégia utilizada para a criação da cópia da base de dados envolve consultas simples das tabelas do banco de dados, não apresentando as mesmas características de integridade obtidas com ferramentas específicas do SGBD. Por este motivo, recomenda-se que a cópia da base de dados seja utilizada apenas para fins de migração ou transporte de dados entre bases de dados, e não como uma solução de backup tradicional.

Parameters:
Name Type Description
options Object

Opções para criação do objeto DBBackup.

Properties
Name Type Argument Description
serverHost string

Nome ou endereço do Engine que tem acesso direto à base de dados.

dbName string

Nome da base.

dbUserName string

Nome do usuário no SGBD da base de dados. Deve ser o mesmo usuário informado na configuração da base de dados no Manage.

dbPassword string

Senha do usuário no SGBD da base de dados. Deve ser a mesma senha informada na configuração da base de dados no Manage.

userName string <optional>

Nome do usuário no sistema. Este parâmetro é obrigatório na criação de uma cópia da base de dados e na restauração para uma base já existente. O usuário deverá ter permissão para os escopos de autorização "security.restoreBackup" e "security.createBackup" de acordo com a operação a ser realizada.

password string <optional>

Senha do usuário no sistema. Este parâmetro é obrigatório na criação de uma cópia da base de dados e na restauração para uma base já existente.

Methods


backup(fileName [, options])

Cria uma cópia da base de dados.

Parameters:
Name Type Argument Description
fileName string

Nome do arquivo onde será gravado a cópia da base de dados.

options Object <optional>

Opções da criação da cópia da base de dados.

Properties
Name Type Argument Description
ignoredTables string <optional>

Lista de tabelas separadas por vírgula que serão ignoradas.

logStartDate Date <optional>

Data inicial dos registros da tabela iLog que serão incluídos na cópia da base de dados. Caso este parâmetro não seja informado, todos os registros da tabela iLog serão incluídos na cópia.


restore(fileName, options)

Restaura uma cópia da base de dados criada previamente pelo método backup.

Importante: este método retornará um objeto contendo informações sobre as tabelas restauradas, mesmo que a restauração tenha sido interrompida por um erro. Por esse motivo, as propriedades success e error sempre devem ser verificadas e a ausência do lançamento de um erro não deve ser interpretada como sucesso.

Parameters:
Name Type Description
fileName string

Nome do arquivo que contém a cópia da base de dados a ser restaurada.

options Object

Opções da restauração.

Properties
Name Type Description
ignoreDuplicateKeys boolean

Indica que as chaves duplicadas devem ser ignoradas, sendo restaurada apenas a primeira ocorrência encontrada.

skipExistingTables boolean

Indica que não serão restauradas as tabelas já existentes na base de dados.

mergeLogTable boolean

Indica que os dados da tabela iLog contidos no arquivo devem ser mesclados com os dados já existentes na base de dados.

dryRun boolean

Indica que o arquivo deve ser processado sem modificar a base de dados, permitindo validar se o arquivo está íntegro.

Returns:

Resultado da restauração. Observar a propriedade success para determinar se houve uma falha durante o processo.

Type
RestoreResult
Example
const backup = new DBBackup({
  serverHost: serverHost,
  dbName: dbName,
  dbUserName: dbUserName,
  dbPassword: dbPassword,
  userName: userName,
  password: password
});
const result = backup.restore(backupFileName, {
  mergeLogTable: true,
  dryRun: true
});

if (!result.success) {
  throw new Error(result.error);
}