Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DS/DDL para Gestão de Banco de Dados

Esta documentação aborda a funcionalidade dos botões DS/DDL usados para gerenciar a criação e atualização de estruturas em um banco de dados. Cada botão possui um propósito específico, facilitando operações distintas como a criação de tabelas e a atualização da estrutura do banco de dados. A seguir, descrevemos cada um dos botões e suas funções correspondentes.

Botões DS/DDL

Botão "Full"

  • Objetivo: Criar a estrutura completa do banco de dados e atualizar o banco com novas tabelas.
  • Funcionalidade: Ao clicar no botão "Full", o sistema executa um script que gera todas as tabelas necessárias para o banco de dados, além de atualizar estruturas existentes com novos elementos (colunas, índices, etc.). É útil para garantir que o banco de dados esteja completamente sincronizado com o modelo de dados atual.

Botão "App"

  • Objetivo: Criar a estrutura básica das tabelas do aplicativo.
  • Funcionalidade: Este botão foca na criação de tabelas e estruturas que são especificamente utilizadas pelo aplicativo. Ao selecioná-lo, apenas as tabelas essenciais para o funcionamento do aplicativo são criadas ou atualizadas.

Botão "NFS"

  • Objetivo: Criar tabelas e estruturas básicas do Core do sistema.
  • Funcionalidade: O botão "NFS" é usado para configurar ou atualizar as tabelas que formam o núcleo do sistema, ou seja, as estruturas fundamentais sobre as quais outras funcionalidades são construídas.

Tela de Execução

Ao clicar em qualquer um dos botões descritos acima, abrirá uma tela de execução que contém vários botões de controle e monitoramento da execução dos scripts. Abaixo, detalhamos cada um dos botões presentes nesta tela:

Botão de Fechar Detalhes

  • Funcionalidade: Oculta os detalhes de cada execução, permitindo uma visão mais compacta das operações realizadas.

Botão de Scroll Automático

  • Funcionalidade: Ativa o deslocamento automático da tela para acompanhar a última ação executada, garantindo que o usuário possa visualizar em tempo real as operações mais recentes sem necessidade de scroll manual.

Botão Erro

  • Funcionalidade: Filtra e mostra apenas as execuções que resultaram em erros, facilitando a identificação e correção de problemas.

Botão Warning

  • Funcionalidade: Filtra e exibe apenas as execuções que geraram alertas (warnings), que não são críticos como erros, mas que indicam potenciais questões que necessitam atenção.

Botão Sucesso

  • Funcionalidade: Este botão filtra e exibe as execuções que foram completadas com sucesso, sem erros ou warnings.

Botão Copiar

  • Funcionalidade: Permite copiar todas as queries executadas para a 
    área de transferência, facilitando o compartilhamento ou análise das operações realizadas.

     

Execução via Terminal


Para administradores e desenvolvedores que preferem a linha de comando, o sistema permite a execução de migrações e atualizações do banco de dados via terminal. O script **Migrate.php** é utilizado para este propósito, e pode ser configurado para operar em diferentes escopos e funcionalidades de acordo com os parâmetros fornecidos. Abaixo está a descrição de como usar o script e exemplos práticos de uso.

Uso do Script

O script é executado da seguinte forma:

php command/Migrate.php [sub-domain] [empresa] [tipo] [tabela-nome]

  • sub-domain: Pode ser especificado como **all** para executar a operação em todos os subdomínios disponíveis.
  • empresa: Similar ao sub-domain, pode ser **all** para abranger todas as empresas registradas no sistema.
  • tipo: Define o tipo de operação a ser realizada, como criação de tabelas, verificação de campos, entre outros.
  • tabela-nome: Especifica uma tabela específica para a operação. Se deixado em branco, o script atuará em todas as tabelas relevantes para o tipo de operação selecionado.

Tipos de Operação

Os tipos de operação que podem ser especificados são:

  • full: Execução completa do sistema.
  • nfs: Executa operações relacionadas ao núcleo do sistema.
  • app: Foca na criação e atualização de estruturas necessárias para o aplicativo.
  • core: Verificação de tabelas do núcleo do sistema.
  • types: Inserção de tipos de campo no banco de dados.
  • always: Modificação na estrutura de tabelas do núcleo.
  • verifyTabelaCampoFK: Verificação de campos tipo FK sem link correspondente.
  • creatTables: Verificação da existência de tabelas e criação com estrutura básica.
  • verifyTableFields: Verificação e criação de campos de acordo com o design especificado.
  • afterScript: Execução de scripts após a criação de tabelas e campos.
  • checkPremissas: Verificação de premissas de tabela e tabela_campo.
  • validateDisplayFields: Verificação de existência de campos de display no design.
  • verifySeqDbUnsigned: Verificação de colunas SEQ_DB como UNSIGNED.
  • verifyFks: Verificação de foreign keys e mudanças em campo FK_SEQ_DB para UNSIGNED.
  • criarIndicesPadraoMobileTable: Criação de índices padrão nas tabelas especificadas.
  • verifyUpdDh: Verificação de coluna UPD_DH com ação ON UPDATE.
  • processImage: Processamento de campos de imagem na tabela NFS_UPLOAD.
  • createIndexesCore: Criação de índices para o núcleo do sistema.

Exemplos de Uso


Abaixo estão alguns exemplos de como o script pode ser usado na prática:
php command/Migrate.php all all full

Verificar e criar campos em todas as tabelas de uma empresa específica:

php command/Migrate.php all empresaX verifyTableFields