Ir para conteúdo
Mauro Nunes

Git Workflow com Banco de Dados

Recommended Posts

Olá Desenvolvedores, não achei em qual parte do fórum deveria colocar essa minha dúvida.

 

Estou ajudando na implantação do Git na empresa em que trabalho e eis que surgiu uma dúvida.

 

Desenvolvemos um CMS com PHP e MySQL, já versionamos o nosso código fonte com o Git, mas ficou um dúvida com em relação ao banco de dados.

 

Dúvida: No workflow que vocês trabalham utilizando um único banco de dados onde todas trabalham ou cada desenvolver tem a cópia do banco de dados e qualquer alteração precisa ser replicada no banco principal ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso varia entre empresas e projetos. Normalmente, existe um banco de dados de cada ambiente para um projeto/sistema. Que na maioria dos casos é entre ambiente de testes e produção (podem haver outros, como o de homologação).

 

Outra situação, é cada um manter o seu banco de dados localmente

 

Em ambos os casos, você pode utilizar alguma ferramenta ou biblioteca que auxilie a criação do SGBD.

 

Casos de bibliotecas há o Migrations & Seeding (Laravel). Não conheço muitas outras pois não gosto dessa abordagem.

 

De ferramentas (abordagem que eu utilizo), existe o MySQL Workbench (específico MySQL) e SQL Power Architect (multi SGBD), aonde você cria o diagrama ER, pode popular alguns dados essenciais e sincroniza com o SGBD.

 

Com uma ferramenta, você pode analisar as diferenças entre os SGBDs, sincronizar o que desejar e, em casos mais crítico, realizar a engenharia reversa da base de dados. Além de ter a interpretação/análise visual do SGBD.

 

Quanto ao versionamento, o git deve versionar códigos, o que não inclui o banco de dados. Como eu uso o BitBucket, é permitido anexar arquivos binários ao projeto, dessa forma eu possuo diagrama ER anexado.

 

Existe outra prerrogativa que é caso de dados sensíveis, que seria de não armazenar ao versionamento. Dados sensíveis são: dados de conexão, dados de ftp, dados de smtp, etc. Basicamente tudo que possua um endereço (ip/dns), usuário e/ou senha;

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido para: Desenvolvimento → Metodologia, Modelagem e Arquitetura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por luisfeliperm2
      Uso o github, mas ele não tem repositório privado free
    • Por kim.y
      Boa noite pessoal,
       
      Estou com uma dúvida sobre o que realmente é o Stage Changes, li algumas coisas na internet mas não entendi muito bem.
       
      Se eu fizer um merge e aparecer Stage Changes algumas alterações no stage changes que eu não fiz na minha branch o que isso quer dizer?
       
      Que se eu der commit no merge esses códigos vão fazer parte da minha branch?
       
      E se eu der Unstage e depois Undo quando for fazer um merge na branch master prod pode apagar algum código que alguém fez antes que eu?
       
      Agradeço desde já!
    • Por vrnkl
      Bom dia,   estou tentando enviar um projeto que fiz algumas modificações para um repositório no Bitbucket.   No meu repositório local eu criei uma branch chamada "front" e no meu repo remoto so existe a branch "master"   Gostaria de enviar essa branch "front" para o repositório remoto mas nunca trabalhei enviando remotamente.   Como devo proceder?
    • Por gabrieldarezzo
      Alguém sabe como resolver esse problema no Windows?   Ao executar o comando: php-cs-fixer fix ./src   Ele altera todos os arquivos das pastas: warning: LF will be replaced by CRLF in src/File.php.   Já tentei:   php-cs-fixer fix ./src --rules=line_ending php-cs-fixer fix ./src --rules=PSR2     Mas sem sucesso.   Ps: Meu .editorconfig está: root = true [*] ident_style = space indet_size = 4 end_of_line = crlf charset = utf-8 [*.md] max_line_length = off trim_trailing_whitespace = false  
    • Por Jonathan F
      era que alguém poderia me ajudar:
       
      header 
          +clearfix
          background:
              image: url('../images/FUNDO.jpg')
              position: top center     
              //background:
              //size:
          
          .links
              float: right
              nav
                  ul
                      li
                          display: inline-block
                          margin: 0 20px 0 0
                          a
                              text-transform: uppercase
          
          p
              color: branco
       
      Nao aparece nada no geral e nao modifica nada.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.