tgmti / tab-prot-thf

Visualizar esquemas do dicionário de dados do Protheus com front end em THF
MIT License
10 stars 2 forks source link

Conectar em outros bancos #10

Open AlencarGabriel opened 4 years ago

AlencarGabriel commented 4 years ago

Olá @tgmti ,

adorei este repositório. Subi a VM aqui e funciona perfeitamente! Estou pensando em inclusive escrever um artigo em meu humilde blog sobre isso.

Queria saber se tem como realmente conectar em outros bancos, para ai ser carregado o dicionário de dados da minha própria empresa. Vi que no roadmap isso já estava pronto, mas não identifiquei ainda como fazer.

Fico no aguardo, forte abraço, e parabéns! 👏

tgmti commented 4 years ago

Opa @AlencarGabriel, obrigado pelo apoio cara.

Essa versão que está no master eu fiz em express pra MsSql e PostgreSQL. Inclusive eu uso ela conectado numa base SQL Server.

Pra conectar no MsSql tem 3 formas que posso pensar agora:

1 - Acessar a rota /config do backend (locahost:3333/config)

image


2 - Criar um arquivo "dbconfig.json" seguindo o exemplo do dbconfig.mssql.example.json e copiar para "/usr/src/app/config/dbconfig.json" via docker cp: $ docker cp dbconfig.json id_container:/usr/src/app/config/dbconfig.json


3 - Criar o mesmo arquivo "dbconfig.json" acima, depois criar um Dockerfile novo para a API, copiando ele para dentro da VM

FROM tgmti/tabelas-protheus-api
COPY (MEU_PATH/MEU_DBCONFIG.JSON) ./config/dbconfig.json

E alterar o docker-compose para buildar essa imagem.

 api:
    image: NOME_PRA_MINHA_IMAGEM_OPCIONAL
    build: .
    ports:
      - 3333:3333

Neste último caso também dá pra tirar o PG do docker-compose

  db:
    image: 'docker.totvs.io/dcp/database'

Em breve:

AlencarGabriel commented 4 years ago

Uau, adorei a explicação.

Vou fazer uns testes aqui e qualquer coisa volto a informar. Preciso ainda migrar minha base para o dicionário.

Quanto as features do futuro, achei muito interessante a ideia de embarcar isso no Protheus. Facilitaria muito para que todos pudessem usar em seus próprios ambientes!