01. DADOS GERAIS
| Produto: |
TOTVS Varejo Franquias e Redes
|
|---|
| Linha de Produto: | PDV Sync |
|---|
| Segmento: | |
|---|
| Módulo: | PDVSync.Server |
|---|
| Função: | Migrations |
|---|
| País: | Brasil |
|---|
| Versão: | V1 |
|---|
| Requisito/Story/Issue (informe o requisito relacionado) : | DVARINT1-10823 |
|---|
02. SITUAÇÃO/REQUISITO
- Atualmente, a aplicação executa as migrações de banco de dados automaticamente durante o startup, o que pode levar a problemas de integridade dos dados e risco de alterações indesejadas em produção. Para mitigar esses riscos, é necessário:
- Remover a execução das migrações do processo de startup da aplicação, garantindo que as migrações sejam realizadas de maneira controlada e apenas quando necessário.
- Criar um endpoint /api/manutencao/migration, permitindo que as migrações sejam acionadas manualmente via pipeline (esteira) com as devidas medidas de segurança. Esse endpoint deve ser acessível apenas a usuários ou serviços autorizados, garantindo que as migrações sejam executadas de forma segura e sob controle.
- Implementar uma regra que exija a realização de backup das tabelas afetadas antes de cada migração. Essa medida assegura que qualquer alteração inadvertida possa ser revertida, protegendo os dados e minimizando o impacto de possíveis erros durante o processo de migração.
03. SOLUÇÃO
A funcionalidade de aplicação automática de migrations foi removida e, em seu lugar, foi adicionada uma API que permite a execução manual desse processo. Essa mudança tem como objetivo evitar que algum desenvolvedor aplique migrations acidentalmente em ambiente de produção.
Além disso, foi criada uma chave de segurança exclusiva para cada API e ambiente, garantindo que apenas o time do produto possa realizar essa operação, prevenindo execuções indevidas por terceiros.

Link com as chaves por ambiente: https://tdn.totvs.com/x/J3LdNw