Capítulo 6: Comparação e Sincronização de Esquemas
Info: Este capítulo explica a identificação de diferenças estruturais entre bancos de dados, a matriz visual comparativa e as salvaguardas de backup automático e rollback.
Neste capítulo:
- 6.1 Identificando Diferenças de Esquema
- 6.2 Matriz Visual de Diferenças
- 6.3 Salvaguardas e Mecanismos de Proteção
- Tópicos relacionados
6.1 Identificando Diferenças de Esquema
Ao longo dos ciclos de desenvolvimento, ambientes de teste e produção acumulam divergências estruturais (Schema Drift). O SQLOZ mapeia discrepâncias entre duas instâncias e assegura a sincronização:
- Abra no menu superior Ferramentas → Comparar Esquemas….
- Origem (Source): O banco de referência (ex.
local_dev). - Destino (Target): O banco a ser atualizado (ex.
production_db). - Clique em Comparar.
6.2 Matriz Visual de Diferenças
As alterações são exibidas de forma clara por cores:
- 🟢 Verde: Presente na origem, ausente no destino (
CREATE TABLE/ADD COLUMN). - 🟡 Amarelo: Presente em ambos, mas com tipo de dado ou índice divergente (
ALTER TABLE). - 🔴 Vermelho: Excluído na origem, mas persistente no destino (
DROP).
6.3 Salvaguardas e Mecanismos de Proteção
Antes de confirmar em Aplicar Sincronização, o SQLOZ executa rotinas defensivas:
- Backup automático de tabela (
_sqloz_bak_...): Para destinos MySQL/MariaDB, antes de processar DDLs destrutivos (DROP TABLE,DROP COLUMN,MODIFY COLUMN), os dados da tabela de destino são copiados em uma tabela espelho com data e hora:CREATE TABLE IF NOT EXISTS `_sqloz_bak_<timestamp>_users` AS SELECT * FROM `users`; - Script de rollback e restauração: Após concluir o backup, o SQLOZ elabora o arquivo de reversão e as instruções comentadas para reposição de dados.
- Proteção contra exclusões acidentais: Qualquer exclusão definitiva de tabelas ou colunas em produção exige consentimento explícito.
Aviso: Instâncias PostgreSQL ou SQLite não geram tabelas de backup automático em segundo plano. Faça um dump manual comprovado antes de sincronizar nesses bancos.
