[firebase-br] Versionamento de Banco - GitHub
Marcelo - MK Softwares
marcelo em mksoftwares.com.br
Segunda Fevereiro 8 11:30:55 -03 2021
Sim Gladiston, antigamente nosso banco de dados tinha várias SPs, agora
as regras de negóci ficam todas na aplicação, ou seja, o banco de dados
só aquilo que é pra ele fazer... armazenar os dados. A única coisa que
fica a critério do banco, são as chaves primárias. Até as cascades das
FKs, foram tiradas. Desse modo podemos ter um controle melhor dentro da
aplicação os mátodos de exclusão e possiveis erros durante a exclusão.
Com C# é muito fácil criar backends. Já temos vários serviços rodando,
os quais agilizam os processos, como por exemplo a busca de dados
cadastrais de pessoas jurídicas, mas... para essas APIs quando
precisamos armazenar dados, usamos os Postgres, devido a melhor
compatibilidade com o C#. Não estou desmerecendo o nosso com e velho
Firebird, já faz mais de 10 anos que ele paga as minhas contas, e vai
continuar pagando ainda por muito tempo.
Abraço a todos
Em 08/02/2021 11:01, Gladiston Santana escreveu:
> Numa softhouse parece melhor ter certos objetos fora do banco, por
> exemplo, as SPs.
> Por exemplo,transferir as SPs do banco para uma API de serviço, daí ao
> inves de rodar a SP, disparar um http com parâmetros em json para o
> endereço do servidor e o programa instalado escutar a requisição e
> então executar e retornar o que se espera. Algo como
> http://enderecodoservidor:10000/apis/crud_clientes
> <http://enderecodoservidor:10000/apis/crud_clientes>. Estive estudando
> C# e me parece facil fazer backends assim.
> A vantagem dessa transferencia é que sua mais tarde poderá trocar de
> banco ou de linguagem e não teria de reescrever essas regras. Também
> poderá escalar.
>
>
> Em qui., 4 de fev. de 2021 às 20:24, Marcelo - MK Softwares via lista
> <lista em firebase.com.br <mailto:lista em firebase.com.br>> escreveu:
>
> Se isso te ajuda: aqui também usamos scripts.
> Desenvolvemos nosso primeiro sistema em VB6 e agora estamos migrando
> para C#, e precisamos continuar o legado. Antes de iniciarmos o
> processo
> de migração, procuramos várias ferramentas, métodos, jeitos, até
> acharmos essa "gambiarra", de rodar os scripts de alteração um a um
> quando o atualizador do sistema é iniciado.
> Bom, o C#, pra quem conhece, disponibiliza um complemento, o Entity
> Framework, mas o EF ainda não esta pronto para o firebird. Tem vários
> erros que acontecem sem explicação nenhuma. Em algumas consultas nas
> issues no git do EF para firebird, tem vários relatos dos
> problemas, e
> promessas para arrumarem, estamos na expectativa. Se isso
> acontecer ai
> sim terei uma ferramente automatizada pelo software de retaguarda,
> onde
> sem intervenção do usuário, as atualizações acontecem como que por
> mágica. O que mais me desanima, é que o PGSQL ja contempla esse
> recurso
> a tempos.
>
> Agora se o nosso guro @Cantu, tiver alguma carta na manga. Também
> tenho
> interesse.
>
> Abraços a todos e boa noite
>
>
> Em 04/02/2021 15:26, Marcos R. Weimer via lista escreveu:
> > Ola!
> >
> > Aqui tambem fazemos o script "inteligente" que cria os campos se não
> > existir e tal, porém, temos procedures gigantescas.
> >
> > Digamos que queira comparar a procedure "quente" com uma
> alterada por algum
> > desenvolvedor? Este é o processo que queremos melhorar, está muito
> > trabalhoso.
> >
> > Uma idéia seria ter a SQL de cada tabela, procedure e afins
> versionada no
> > github, o problema seria na hora que sair a versão de produção,
> ter de
> > passar todas estas SQLs montando o script da versão na mão.
> >
> > Hoje temos um processo que está funcionando bem (a mais de 10
> anos), mas a
> > idéia é facilitar e otimizar este processo.
> >
> >
> > -=Ma®©oS=-
> > Marcos R. Weimer
> > Pessoas quietas têm as mentes mais barulhentas - Stephen Hawking
> > Viver significa ter algumas alegrias e muito sofrimento - Pepe
> Mujica
> > Muitos daqueles que te chamam de louco queriam ter a sua coragem
> - Silvio
> > Santos
> >
> >
> >
> >
> >
> > Em qui., 4 de fev. de 2021 às 14:58, Gladiston Santana <
> > gladiston em vidy.com.br <mailto:gladiston em vidy.com.br>> escreveu:
> >
> >> Olá Marcos,
> >>
> >> Há muito tempo eu tenho feito scripts gradativos que testam a
> existencia
> >> dos objetos e na falta deles os cria e segue uma certa ordem
> domains,
> >> tables, alter tables, indices, constraints,...., procedures,
> triggers...
> >> enfim entendeu né. Esses scripts rodam desde a inauguração na
> base até
> >> torná-la a versão vigente.
> >>
> >> Estes scripts voce pode versionar com git, mas recomendaria um
> repositório
> >> central com a opção 'bare' para que todos possam ter a mesma
> versão de
> >> referência. Ter alguém que conheça bem o banco de dados e
> possivelmente
> >> centralizar as coisas nele pode ser muito bom porque dá medo de
> pessoas mal
> >> disciplinadas subirem 'lixo' não testado para este repositório
> de onde
> >> outros sincronizarão.
> >>
> >> Aqui eu criei um programa de atualização que vai aplicando
> estes scripts
> >> do zero até o fim, se nenhum falhar então a tá pronto para ser
> enviado e
> >> compartilhado.
> >> Quando tenho que atualizar a produção segue o mesmo princípio,
> rodo os
> >> scripts na sequência desde o script que fez a fundação da base
> até as
> >> últimas atualizações. Apenas há um .exe que automatiza isso
> para não
> >> fazê-lo manualmente. Estes programas foram feitos com o Delphi,
> mas estou
> >> estudando fazê-los em node.js, o qual estou aprendendo, eu tô
> perdendo
> >> tempo em escrever UI para coisas banais que servem para
> automatizar.
> >>
> >> Hoje tem ferramentas bem melhores que te ajudam a criar um
> script com a
> >> diferença do banco A para o banco B, mas pessoalmente acho que
> se vc cuidar
> >> disso internamente desde o inicio do desenvolvimento nunca
> precisará de
> >> ferramentas assim.
> >>
> >>
> >> Em qui., 4 de fev. de 2021 às 10:05, Marcos R. Weimer via lista <
> >> lista em firebase.com.br <mailto:lista em firebase.com.br>> escreveu:
> >>
> >>> Ola!
> >>>
> >>> A alguns anos estamos versionando o banco na mão (salvando
> procedures,
> >>> montando scripts...) mas temos um banco grande (muitas tabelas,
> >>> procedures,
> >>> triggers, views...)
> >>>
> >>> Então venho perguntar o que estão usando para
> controlar/versionar o banco
> >>> (procedures, triggers e afins), se alguem tiver alguma
> ferramenta ou algo
> >>> do tipo integrado ao github seria excelente.
> >>>
> >>>
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br <http://www.firebase.com.br>) -
> Hospedado em www.locador.com.br <http://www.locador.com.br>
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> <http://www.firebase.com.br/fb/artigo.php?id=1107>
> > Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
> <http://www.firebase.com.br/pesquisa_lista.html>
> ______________________________________________
> FireBase-BR (www.firebase.com.br <http://www.firebase.com.br>) -
> Hospedado em www.locador.com.br <http://www.locador.com.br>
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> <http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
> <http://www.firebase.com.br/pesquisa_lista.html>
>
>
>
> --
> A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
> Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na
> Qualidade e na Melhoria Continua.
>
> Em março de2018 migramos com sucesso para a nova versão da ISO 9001.
>
> Somos a única Empresa Brasileira de Engenharia de Laboratórios com
> certificação com o Escopo Completo; desde Projetos, Engenharia,
> Construção, Fabricação e Instalação de Laboratórios.
>
>
>
Mais detalhes sobre a lista de discussão lista