Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS Varejo Franquias e Redes

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:PDV Sync
Segmento:

Segmentos_totvs
Segmento Varejo

Módulo:PDVSync.Server.Controle
Função:

Fluxo Online

País:Brasil
Versão:4.2
Requisito/Story/Issue (informe o requisito relacionado) :

DVARINT1-13477


02. SITUAÇÃO/REQUISITO

  • Implementar um fluxo para realizar pull requests das alterações estruturais e parametrizações feitas no Front-end do PDVSync que impactam o banco de dados, garantindo que essas alterações sejam propagadas corretamente em todos os ambientes (Desenvolvimento, QA, Staging e Produção). Esse fluxo deve garantir rastreabilidade, automação e redução de intervenções manuais.

03. SOLUÇÃO

  • A partir do cenário proposto, foi realizado uma POC, validando o cenário proposto, e implementado no código fonte do projeto:

    • Criação dos Artefatos de Tipo Lote e Tipo Dado no ambiente de desenvolvimento.
    • Check-in desses objetos direto no código-fonte do micro serviço de Controle e pull-request desses arquivos para o branch de desenvolvimento (develop).
    • Merge de Develop para Release (QA) e demais ambientes (Staging e Produção).
    • Execução automática ou chamada via API (simular a aplicação dos migrations em outros ambientes) da criação desses novos objetos nos demais ambientes (QA, Staging e Produção).

    1. Criação do Tipo Lote e Tipo Dado

    • Tipo Lote

    Image Modified

    Image Modified

    Após a criação do Tipo Lote, o arquivo é gerado no fonte de desenvolvimento, conforme o print abaixo:

    Image Modified

    Formato do Artefato gerado na criação do Tipo Lote:

    Image Modified

    • Tipo Dado

    Image Modified

    Image Modified

    Image Modified

    Após a criação do Tipo Dado, o arquivo é gerado no fonte de desenvolvimento, conforme o print abaixo:

    Image Modified

    Formato do Artefato gerado na criação do Tipo Dado:

    Image Modified


    IMPORTANTE: Para a criação desses artefatos no Frontend para o código-fonte, é necessário rodar a aplicação do mesmo no ambiente local, apontando para o micro serviço de Controle da máquina local:

    Image Modified

    2. Check-in dos artefatos gerados diretos no fonte

    O check-in dos arquivos gerados ocorre da mesma maneira, como ocorre hoje quando desenvolvemos alguma demanda nova.

    Image Modified

    Image Modified


    3. Promoção dos artefatos gerados nos demais ambientes 

    A promoção dos dados podem ocorrer das seguintes maneiras:

    • Execução automática ao iniciar o micro serviços nos ambiente release, staging e production.
    • Executar uma API (seguindo o exemplo abaixo) que fica responsável pela promoção desses artefatos no ambiente, da mesma forma como ocorre hoje com a execução das migrations de banco de dados.

                Image Modified


    Ao realizar a migração, os arquivos são gerados em uma tabela para controle chamada ArtefatosSistema onde exibe o histórico dos arquivos já migrados, evitando que os mesmos sejam executados novamente no ambiente, seja ele QA, Staging ou Produção.

    Image Modified

    Estrutura da Tabela ArtefatosSistema:
    Tabela ArtefatosSistema

    CREATE TABLE IF NOT EXISTS public."ArtefatosSistema"
    (
        id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1 ),
        nome_arquivo text COLLATE pg_catalog."default",
        nome_tabela text COLLATE pg_catalog."default",
        data_cadastro timestamp without time zone NOT NULL,
        data_atualizacao timestamp without time zone NOT NULL,
        CONSTRAINT "PK_ArtefatosSistema" PRIMARY KEY (id)
    )
     
    TABLESPACE pg_default;


    O registro migrado da tabela TipoLote:

    Image Modified

    O registro migrado da tabela TipoDado:

    Image Modified