Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvidas com a conexão do banco de dados

Olá,

Fiquei com algumas dúvidas em relação a conexão com o banco de dados realizada nesse curso.

1º A senha que eu defini quando eu instalei o mySql, deve ser usada em todos os projetos que eu criar? Pois não consegui fazer a conexão com o banco utilizando a senha proposta no curso.

2º Com essa maneira de criar o banco pelo terminal, eu não consigo visualizar o banco de dados no meu SQL WorkBench, isso é normal? Tem alguma forma de visualizar?

3º Se eu colocar esse projeto em um repositório remoto, tem algum problema da minha senha com a conexão com o banco ficar exposta?

4º Como é feito o deploy da minha API para que eu possa utilizar em produção? Ainda não terminei o curso, não sei se isso será abordado até o final.

2 respostas
solução!

Boa tarde José, tudo certo?

Você trouxe ótimas dúvidas! Vou tentar respondê-las separadamente:

1) O MySQL te permite ter vários usuários diferentes utilizando um mesmo banco. Por motivos de simplicidade, utilizamos o usuário root durante o curso para ter acesso a todas funcionalidades do banco, mas em aplicações que vão para produção a boa prática é atribuir o mínimo de permissões necessárias para cada usuário ou serviço que estejam utilizando o banco. Sobre a instalação: a senha que você configurou provavelmente é do usuário root, então você deve usá-la no arquivo de configuração do projeto.

2) Você deveria conseguir ver os bancos e tabelas pelo Workbench independente da forma como eles foram criados, pois o MySQL Workbench é apenas uma interface mais amigável para acessar os bancos de dados. Tente recarregar as conexões ou buscar alguma instrução de atualizar a conexão e tabelas.

3) Sim! As senhas dos serviços (e senhas em geral) não devem ser compartilhadas publicamente e precisamos ter muito cuidado com isso. Caso suas senhas estejam diretamente dentro do projeto elas serão enviadas para o servidor da ferramenta de versionamento, por exemplo, e todas as pessoas com acesso ao repositório poderão ver as suas credenciais. Aí que entra a utilidade do pacote npm chamado config que utilizamos nesse projeto: ele te permite criar um arquivo de configuração que não deve ser compartilhado (ou ter apenas uma versão de testes diferente das configurações de produção). Outra forma comum de realizar essa tarefa sem esse pacote é utilizando variáveis de ambiente.

4) Uma das formas de realizar o deploy é utizar algum provedor de serviços na nuvem, mas o escopo desse processo é muito grande para inserir no curso. Nós temos outros conteúdos como a formação Amazon Web Services que exploram de forma aprofundada o processo. Outra alternativa mais simples de uso é o serviço de nuvem da plataforma Heroku. Um conteúdo recente que estamos desenvolvendo para atender essa demanda de deploy são os Alura Challenges, que teve a última versão voltada para o back-end e cobria de forma prática esse processo.

Eu espero ter ajudado e bons estudos!

Boa tarde João!!

Muito obrigado por esclarecer minhas dúvidas.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software