Não acredito que perdi todo esse tempo procurando magia em um mundo nada fantástico. Essa tua aula de 15 minutos explodiu minha mente e estou maravilhado. Muito obrigado e meus parabéns pelo excelente dom de ensino, tudo ficou muito claro agora.
Conteúdo muito bom. Projeto pequeno que é ótimo tanto para quem está aprendendo a usar quanto para quem deseja revisar. Só uma observação da capa do vídeo: 15" seria 15 segundos!
@@LuizTools ola cara, tentei fazer uma verificação de usuario usando mysql, sequelize e express. infelizmente não conseguir fazer, amanha vou ver se acordo cedo e tento mais caso eu consiga eu volto aqui se uder me ajudar meu codigo ta assim: PostRegister.findAll({ where:{ email:req.body.email, password:req.body.password }}).then((user)=>{ res.send("deu certo") }).catch(()=>{res.send("erro" )}) ========================================== tinha tentando dessa forma aq tmb, mas n pegou ========================================== PostRegister.findOne({ where:{ [Sequelize.or]:[ {email:req.body.email}, {password:req.body.password} ] }}).then((user)=>{ res.send("deu certo") }).catch(()=>{ res.send("erro") }) poderia me ajudar como eu verifico o usuario ja registrado com o usuario que estar se logando??? obs: ja sei me registrar;
Olá, Luiz. Fiz esse exemplo com o BD PostgreSql e funcionou legal. É bem verdade que no início apanhei para acessar o banco de dados, mas no final funcionou. Muito obrigado!
@@LuizTools Vi que você tem um curso sobre node.js me interessei bastante devido ao momento dos meus estudos ( estou estudando node.js) poderia me dizer se o método de explicação seria igual do curso?( cada linha que escreve você explica conceito/oq ela faz)
@@bielzindosgamesbr A didática é exatamente a mesma de todos os meus vídeos, artigos, livros e cursos. Na verdade eu nem sei fazer diferente, tem quem ame, tem quem odeie, haha.
@@lcanavezes tem vários vídeos, a depender do banco de dados que você utiliza. Na barra de busca do canal colocar o nome do seu banco que você acha fácil. Ex: MySQL, PostgreSQL, MongoDB, etc
Muito bom o conteúdo. Uma sugestão para o próximo video seria falar sobre os relacionamentos entre tabelas, Quais relacionamentos existem e como usar cada um deles
Baita sugestão. Enquanto esse vídeo não sai, confere o conteúdo que sugeriu nesse tutorial, que é uma continuação do vídeo: www.luiztools.com.br/post/tutorial-de-crud-com-node-js-sequelize-e-mysql-2/
Ambos save() e destroy() não funcionaram. O destroy passou a funcionar do outro jeito com o where: {}. Agora é achar como atualizar já que o save n funfa. Valeu pela ajuda, era o que eu buscava. OBRIGADO!!!
Beleza Luiz! Valeu pela aula. Muito didática e direto ao ponto. Mas me me de uma dica aqui. Eu carrego um select com os dados do banco e quero ao selecionar um ítem da select, eu quero carregar os dados na página. Como eu faço isso?
Na sua página tem de usar alguma tecnologia para fazer requisição assíncrona ao servidor e trazer os dados do item selecionado no select. Pode ser a Fetch API do JavaScript, pode ser um useEffect do React e possivelmente no Angular e no Vue dá pra fazer de outras formas também.
Bom dia, Primeiro: gostaria de lhe dar os parabéns, sua didática para mim é bem simples e direta ao ponto, realmente consigo entender o que você explica. Segundo: Tenho uma pergunta, (se possível me responder eu agradeço), bem... gostaria de saber a forma correta de montar um GRUD, entre web site (desenvolvido em REACT) + APP(desenvolvido em ReactNative) ambos fazendo operações em Banco de Dados Mysql (Online). como montar minhas pastas e como chamar as requisições de maneira correta. Desde já agradeço sua atenção..
Agradeço o feedback, mas essa sua pergunta não é bem uma pergunta né, hahaha. Tanto que a resposta pra ele está espalhada em vários tutoriais lá no blog ou em meus cursos que levam várias horas pra ser concluídos pois envolvem toda uma série de conhecimentos de front, back e banco para ser ensinado. Não é tão simples que eu consiga resumir em um comentário, desculpe.
@@LuizTools Boa tarde, é uma pergunta simples, na realidade acho que me expressei errado, mas consegui descobrir a resposta da pergunta vendo seu outros vídeos ... valeu
@@LuizTools Seria no sentido de ler/inserir dados no banco de dados sob demanda, para não sobrecarregar a memória. Seria o mesmo conteúdo que você remendou?
Nunca usei Node-Red, mas se estiver usando Sequelize, não há diferença usando Postgres ou qualquer outro dos bancos suportados em relação ao que mostro no tutorial. No blog você encontra tutorial de Sequelize com Postgres especificamente, caso tenha interesse.
Vídeos são um pouco mais trabalhosos de produzir, mas dá uma olhada lá no blog que tem vários tutoriais, é só pesquisar sequelize no canto superior direito: www.luiztools.com.br
Olá Luiz, primeiramente gostaria de agradecer a sua disponibilidade em criar conteúdo com o intuito de ajuda à comunidade de desenvolvedores. Muito obrigado, tem me ajudado muito. Eu gostaria de tirar mais uma dúvida contigo, se possível fosse. Minha dúvida é: Estou precisando gravar um array em uma coluna no BD, mas o sequelize não reconhece o tipo ARRAY como DataType do model. Como eu conseguiria gravar esses dados do array no sequelize? Desde já, agradeço!
A maioria dos bancos não permite tipo array. O Sequelize oferece suporte a array somente no Postgres, porque este banco permite esse tipo. Segue documentação do tipo com exemplo de declaração: sequelize.org/api/v6/class/src/data-types.js~array
Achei muito bom! Eu estava estudando e percebi que o horário deva ser GMT 0, como que faço pra deixar com o horário padrão de Brasília? Desde já agradeço
Se você se refere aos timestamps, a recomendação é salvar como GTM+0 no banco mesmo. Ainda assim, caso queira mudar a configuração você pode fazê-lo no objeto Sequelize: stackoverflow.com/questions/50057759/sequelize-createdat-and-updatedat-timestamps-are-wrong Ah, e agradeço o elogio! :)
Imagens e outros arquivos binários não devem ser salvos em banco. Você salva as imagens em uma pasta pública da sua aplicação e no banco guarda apenas a URL da imagem. Aí usa essa URL no seu frontend para exibir a mesma.
Parabéns pelo conteudo, explica muito bem!. E se não for incomodo, gostaria de tirar uma duvida com você, pois ja procurei muito e ainda não encontrei uma resposta. Ao gravar um registro o campo updateAt grava com tres horas a mais, resolvi colocando o timezone : "-03:00", porem ao usar o findAll do proprio sequelize, ele me retorna a data com 3 horas a mais, mesmo que o campo no banco esteja com a hora correta. Se souber como posso . corrigir pra na hora da leitura tbm trazer a hora correta me ajudaria muito. Vlw, abraços
Fico feliz que tenha gostado. Sobre datas, sempre deve salvar no banco como UTC (+0, horário global). Depois no frontend você exibe do jeito que quiser, com o fuso que quiser, usando como apoio alguma lib de datas como a date-fns.
O próprio JS, quando você faz um console.log, já traz para o fuso da máquina do usuário, por isso que talvez você esteja se confundindo, por isso que é importante salvar certo no banco.
Não se deve salvar arquivos binários como imagens em bancos sql, degrada muito a performance. Recomendo que salve o arquivo no disco do servidor (upload) e salve no banco apenas a url ou nome do arquivo, de forma que vc possa referencia-lo na sua aplicação mais tarde.
Quando você chama a função de create ela já te retorna o último inserido. Agora se quiser pegar mais tarde, basta fazer um findOne e na opção de sort passar id desc. Na descrição do vídeo tem tutoriais de sequelize no meu blog.
Tem um video de migrations aqui no canal, dá uma olhada nele, mas é pelo cli sim.
3 ปีที่แล้ว
OI, Luiz. Obrigado pelo vídeo!!! Depois de assisti-lo, surgiram algumas dúvidas e gostaria de saber se poderia me ajudar... Considere que há um BD, em produção, com as tabelas TbProduto (IdProduto, NomeProduto, IdFabricante) e TbFabricante (IdFabricante, NomeFabricante). Meus questionamentos são: 1. Como ficariam os modelos para mapear essas duas tabelas no BD? 2. Qual método o Sequelize utiliza para fazer um JOIN e, assim, retornar os campos NomeProduto e NomeProduto? Desde já, agradeço.
Porfessor, tenho um banco pronto em mysql ... Preciso criar todas as models na mão ? ou existe alguma forma de fazer com que o Sequelize conecte ao banco e crie as models no meu projeto ?
Tem de criar todos os models na mão. O Sequelize é um ORM model-first, infelizmente ele não faz engenharia reversa (database-first). Talvez tenha alguma ferramenta por aí que faça isso, mas não é oficial do Sequelize.
Não existe "puxar", é a mesma coisa. Terá de criar os models iguais às tabelas que tem no banco e não vai precisar usar o comando sync, a menos que queira modificar o banco existente.
Excelente, parabéns ! só uma dúvida, eu percebi pelo horario que o fuso horario ta adiantado 3 horas, como faço pra corrigir? abração e gostei muito, bem direto e simples o ensino .
Se você se refere aos timestamps, a recomendação é salvar como GTM+0 no banco mesmo. Ainda assim, caso queira mudar a configuração você pode fazê-lo no objeto Sequelize: stackoverflow.com/questions/50057759/sequelize-createdat-and-updatedat-timestamps-are-wrong Ah, e agradeço o feedback!
Ótima Aula !!! Tenho uma dúvida, já tenho minhas tabelas criadas e gostaria de fazer relacionamento entre algumas tabelas, isso é possível sem ter que recriá-las novamente ? Fiz um teste e até agora o relacionamento que criei no Sequelize não esta funcionando...no navegador quando tento acessar o endpoint recebo o erro: "include.model.getTableName is not a function"
Para criar relacionamentos via Sequelize ou você cria tudo via sync, ou você cria tudo via migrations ou faz todo o mapeamento na mão (pior caso), tabela por tabela. Esse último cenário geralmente dá problemas até que você consiga encontrar e solucionar todas diferenças.
Fala Luiz tudo bem ? Não estou pedindo suporte não me entenda mal, apenas saber se já passou por isso, se tem ideia do que posso fazer ... estou tendo um problema com Sequelize-6.37.1, aparentemente esta abrindo e não esta fechando as conexões, fiz a configuração do pool mas parece que isso não funciona pois estou recebendo o erro: has exceeded the 'max_user_connections' resource (current value: 20) pool: { max: 5, min: 0, acquire: 30000, idle: 10000, },
Parece ser o que você suspeita sim. Chegou a testar com meu código? Pois pode ser alguma logica que criou no seu projeto como múltiplas inicializações do Sequelize por exemplo, quando precisa apenas de uma na verdade.
Gente, tenho uma dúvida. Eu sempre preciso criar o MODELO DE DADOS? Ou se eu já tiver um banco criado (obviamente) e as tabelas criadas, eu só preciso fazer os comandos de crud?
Um ORM é para fazer o mapeamento de tabelas em entidades/objetos. Sempre se começa pelo mapeamento, que é o modelo de dados. Se já tiver o banco criado, tem de fazer o modelo mesmo assim, a diferença é que ele não vai criar o banco pra você, mas precisa do mapeamento. Se não quiser fazer o modelo, não precisa de ORM, pode usar o driver nativo como mostro no vídeo de MySQL aqui do canal.
Em arquitetura de aplicações web os usuários acessam o frontend. O frontend acessa o único backend. O backend vai ter um único par usuário/senha para acessar o banco de dados. Não existe qualquer necessidade do usuário da aplicação conhecer o usuário e senha do banco de dados, isso é inseguro demais.
@@LuizTools opa, primeiramente obrigado por responder. No caso é um projeto no qual tem 6 pessoas envolvidas e cada uma tem na sua máquina o projeto no vscode e o mysql com banco de dados (todos iguais, mas o acesso seria diferente, com usuário e senha diferente). Vi pela openai que dá para fazer por .env desse jeito, aí cada um criaria na sua máquina no vscode do projeto um arquivo .env com as informações de login do usuário do banco e esse arquivo ficaria configurado no .js pra informação ser variável. Acha que dá bom assim?
@@killiandatabase Novamente, vai ter apenas um par de usuário/senha em cada projeto, não precisa tentar colocar vários ao mesmo tempo no Sequelize. E sim, as configurações do seu projeto devem estar em .env, essa é uma boa prática, tem vídeo aqui no canal explicando.
Bom dia Felippe. Estarei aceitando novas inscrições no final de agosto, quando encerrar a turma atual. Fica ligado nas minhas redes sociais para mais novidades.
Você deve apenas criar os models e fazer as consultas e comandos com eles, como mostrei no vídeo (ignore o sync, se houver). Crie as migrations se quiser fazer alterações nas tabelas apenas ou criar novas.
Sim, ele faz automaticamente via lazy loading quando acessa uma propriedade que é uma tabela referenciada. Ou então pode fazer via include (eager loading). Dá uma olhada na continuação desse vídeo que é sobre relacionamentos.
Não estou conseguindo fazer uma aplicação com SQL Server. Está dando erro que não está conseguindo conectar no banco pelo sequelize porque o nome do usuário está inválido, porém ele está correto. Sabe de o sequelize sofreu algum update desde a data desse video?
Ele passa por pequenos updates constantemente, mas tudo ensinado no vídeo segue funcionando normalmente. Se ficar na dúvida, pode usar a mesma versão de Sequelize que usei, o link dos fontes está na descrição do vídeo. Às vezes que meus alunos tiveram problemas parecidos era uso incorreto de variáveis de ambiente ou então os parâmetros sendo passados na ordem errada.
Conheça meus cursos: www.luiztools.com.br/meus-cursos
Não acredito que perdi todo esse tempo procurando magia em um mundo nada fantástico. Essa tua aula de 15 minutos explodiu minha mente e estou maravilhado. Muito obrigado e meus parabéns pelo excelente dom de ensino, tudo ficou muito claro agora.
Fico muito feliz que tenha gostado. Tem mais dois vídeos de Sequelize aqui no canal, caso tenha interesse.
Simmm concordo plenamente.
Perfeita explicação! É muito difícil achar um vídeo dessa qualidade indo direto ao ponto.
Fico feliz que tenha gostado Antonio, tem mais uns dois vídeos de Sequelize aqui no canal, se quiser assistir.
Conteúdo muito bom.
Projeto pequeno que é ótimo tanto para quem está aprendendo a usar quanto para quem deseja revisar.
Só uma observação da capa do vídeo: 15" seria 15 segundos!
Encontrei essa aula e já me inscrevi, conteúdo de 15 mins fantástico e muito bem explicativo. Parabéns e obrigado Luiz!!!
Fico feliz que tenha gostado!
@@LuizTools ola cara, tentei fazer uma verificação de usuario usando mysql, sequelize e express. infelizmente não conseguir fazer, amanha vou ver se acordo cedo e tento mais caso eu consiga eu volto aqui
se uder me ajudar meu codigo ta assim:
PostRegister.findAll({
where:{
email:req.body.email,
password:req.body.password
}}).then((user)=>{
res.send("deu certo")
}).catch(()=>{res.send("erro"
)})
==========================================
tinha tentando dessa forma aq tmb, mas n pegou
==========================================
PostRegister.findOne({
where:{
[Sequelize.or]:[
{email:req.body.email},
{password:req.body.password}
]
}}).then((user)=>{
res.send("deu certo")
}).catch(()=>{
res.send("erro")
})
poderia me ajudar como eu verifico o usuario ja registrado com o usuario que estar se logando???
obs: ja sei me registrar;
Excelente! Super objetivo. Mostrou a essência do Sequelize. Valeu Luiz!
Fico feliz que tenha gostado Billy!
otima aula, muitos cursos pagos não chegam perto desse seu conteúdo, tudo muito claro.
Fico feliz que tenha gostado. Tem mais dois vídeos de Sequelize aqui no canal, dá uma olhada, acho que vai curtir.
Olá, Luiz. Fiz esse exemplo com o BD PostgreSql e funcionou legal. É bem verdade que no início apanhei para acessar o banco de dados, mas no final funcionou. Muito obrigado!
Fico feliz que tenha conseguido Rui!
Cara! São 15 minutos muito bem aproveitados.
Curti muito essa aula, de verdade.
Parabéns!
Obrigado 😃
❤. Nao é possivel sofri tanto a procura de uma aula e com uma alta explicacao. You are the best
Fico feliz que tenha gostado!
muito obrigado cara isso tava tão complexo pra mim, ainda bem que encontrei o seu video! ótima explicação!
Fico feliz que o vídeo tenha te ajudado!
AMEIII, APRENDI MUITO, tava quebrando a cabeça para fazer a conexão com o banco de dados!
Fico feliz que o vídeo tenha lhe ajudado!
É isso que a gente precisa: Rapidez e objetividade
Fico feliz que tenha gostado Cleber!
Parabéns, essa é a melhor forma de fazer alguém que não conhece a tecnologia avaliar se vale a pena ou investir.
Fico feliz que tenha gostado!
Cara... estou em 19/10/2022, começando com sequelize. Foi bem produtivo. Fiz tudo na prática já adaptando ao meu projeto e funcionou. Parabéns
Fico feliz que tenha lhe ajudado, tem mais dois vídeos de Sequelize no canal, caso tenha interesse.
@@LuizTools top. vou conferir.
S E N S A C I O N A L ! TUDO Muito bem explicado ! ! Parabéns pelos vídeos ! ! !
Fico feliz que tenha gostado. Tem mais dois vídeos de Sequelize no canal, acho que vai gostar.
Mentira que em 15 minutos aprendi uma excelente base , muito bom!
Fico feliz que tenha gostado Raphael, tem mais uns 2 vídeos de Sequelize aqui no canal, se quiser ir mais longe.
Tutorial bom viu, tava precisando aprende a mexer nessa biblioteca, Obrigado!
Fico feliz que o tutorial tenha lhe ajudado!
Obrigado, me ajudou muito! Video curto e direto ao ponto!!!!!!!
Fico feliz que tenha gostado Filipe. Tem mais dois vídeos de Sequelize aqui no canal, caso te interesse, um de relacionamentos e outro de migrations.
sempre cirurgico em seus tutoriais, parabéns
Valeu Edvaldo!
Muito bom. Simples e direto ao assunto.
Pois é, aprender é bom, mas ninguém tem tempo a perder, certo? Mais tutoriais de Sequelize podem ser encontrados em www.luiztools.com.br/sequelize
D+. Objetivo, direto, limpo.
Fico feliz que tenha gostado, tem mais dois vídeos de sequelize aqui no canal, caso queira se aprofundar!
Gostei muito desse video, gostaria de aprender mais sobre Sequelize!
Fico feliz que tenha gostado. Enquanto o próximo vídeo não sai, que tal conferir os tutoriais de Sequelize lá do blog? www.luiztools.com.br/sequelize
Rápido, simples e direto, obrigado.
Valeu!
Muito obrigado por esses belos 15 minutos de explicação!!!!
Fico feliz que tenha gostado!
@@LuizTools Vi que você tem um curso sobre node.js me interessei bastante devido ao momento dos meus estudos ( estou estudando node.js) poderia me dizer se o método de explicação seria igual do curso?( cada linha que escreve você explica conceito/oq ela faz)
@@bielzindosgamesbr A didática é exatamente a mesma de todos os meus vídeos, artigos, livros e cursos. Na verdade eu nem sei fazer diferente, tem quem ame, tem quem odeie, haha.
@@LuizTools Ótimo hahaha ganhou 1 aluno novo então :)
Explição bem clara, obrigado pelo video
Fico feliz que tenha gostado Killian!
parabens pelo conteudo. deixou muito mais facil de entender
Fico feliz que tenha gostado, tem mais uns dois vídeos de Sequelize aqui no canal para você assistir, se quiser se aprofundar.
Obrigado por simplificar cara
Fico feliz que tenha gostado!
Grande mago da informatica😄
Gentileza sua, haha
o seu vídeo é muito bom, você me ajudou muito, mas muito mesmo.
Fico feliz que o vídeo tenha ajudado!
Excelente ! Muito bem explicado ! ! Parabéns pelos vídeos ! ! !
Sem dúvida nenhuma, grava SIM ! ! !
Se possível via formulário de entrada, projeto simples ! ! !
Fico feliz que tenha gostado. Tem mais dois vídeos aqui no canal de Sequelize, dá uma olhada, acho que vai gostar!
Muito bom, Luiz! Eu estava procurando como fazer crud pelo JS, e fazia tudo pelo PHP.
Esse é crud com orm. Se quiser tem crud sem orm aqui no canal.
@@LuizTools consegue me mandar o link desse crud sem orm?
Estou quebrando a cabeça para usar o xampp + Node.js
@@LuizTools consegue me mandar o link, não encontrei crud sem orm
@@lcanavezes tem vários vídeos, a depender do banco de dados que você utiliza. Na barra de busca do canal colocar o nome do seu banco que você acha fácil. Ex: MySQL, PostgreSQL, MongoDB, etc
Massa.. Tava faltando muito pouco pra funcionar.. Valeu
Fico feliz que tenha gostado, tem mais dois vídeos de sequelize aqui no canal, acho que vai curtir.
Conteúdo muito show, rápido e super bem explicado, só tenho a agradecer.
Fico feliz que tenha gostado!
Cara, uma palavra: NICE!
Fico feliz que tenha gostado. Tem mais dois vídeos de Sequelize aqui no canal, dá uma olhada!
Cara que vídeo excelente, muito obrigado pelo conteúdo
Fico feliz que tenha gostado!
Muito bom o conteúdo. Uma sugestão para o próximo video seria falar sobre os relacionamentos entre tabelas, Quais relacionamentos existem e como usar cada um deles
Baita sugestão. Enquanto esse vídeo não sai, confere o conteúdo que sugeriu nesse tutorial, que é uma continuação do vídeo: www.luiztools.com.br/post/tutorial-de-crud-com-node-js-sequelize-e-mysql-2/
Parabéns! Rápido, objetivo e muito didático. tmjjj
Valeu 😀
Aí sim 👏🏿 até ontem usava o knex top demais
Fico feliz que tenha gostado!
Belo tutorial amigo, você é um professor.
Obrigado pelo comentário, fico feliz que tenha gostado!
muito obrigado, ajudou demais!
Fico feliz que tenha gostado Erik!
Tutorial muito bom.
Fico feliz que tenha gostado Isaac!
Ficou muito bom, didática bem prática sem enrolação!!
Obrigado 😃
Seu conteúdo é sensacional, bem objetivo !
Muito obrigado 😁
Me ajudou muito, obrigadoooo.
Fico feliz que tenha gostado Daniel!
Ótima didática , aprendi bastante . Parabéns !
Fico feliz que tenha gostado, tem mais dois vídeos de sequelize aqui no canal, caso queira se aprofundar.
@@LuizTools a blz ,vou acompanhar
Sensacional top parabéns... Show de aula
Fico feliz que tenha gostado Bruno!
Excelente conteúdo.
Fico feliz que tenha gostado Anderson!
Cara excelente vídeo
Fico feliz que tenha gostado. Tem mais uns dois vídeos de Sequelize aqui no canal, se tiver interesse.
Obrigado, me salvou!
Fico feliz que tenha ajudado!
cara ótima didática! parabéns!!!!
Obrigado 😃
Ótima didática
Fico feliz que tenha gostado Luiz!
Melhor impossivel!!!
Fico feliz que tenha gostado!
Caraca, direto ao ponto! Muito bom, show!
Valeu 😀
Show de bola.
Valeu obrigado!
opá, muito bom rapido e objetivo
Fico feliz que tenha gostado!
Ambos save() e destroy() não funcionaram. O destroy passou a funcionar do outro jeito com o where: {}. Agora é achar como atualizar já que o save n funfa. Valeu pela ajuda, era o que eu buscava. OBRIGADO!!!
Excelente vídeo, gostaria de ver o próximo vídeo com o sequelize e um frontend.
Fico feliz que tenha gostado Osmar. O próximo vídeo está aí no canal, mas ainda é sobre Sequelize mesmo, a parte de relacionamentos.
Me ajudou muito
Fico feliz em saber que tenha ajudado Ruben!
Muito bom professor, seus vídeos são ótimos!
Fico feliz que goste de meus conteúdos Breno. Tem continuação desse vídeo aqui no canal, um focado em relacionamentos e outro em migrations.
Beleza Luiz! Valeu pela aula. Muito didática e direto ao ponto. Mas me me de uma dica aqui. Eu carrego um select com os dados do banco e quero ao selecionar um ítem da select, eu quero carregar os dados na página. Como eu faço isso?
Na sua página tem de usar alguma tecnologia para fazer requisição assíncrona ao servidor e trazer os dados do item selecionado no select. Pode ser a Fetch API do JavaScript, pode ser um useEffect do React e possivelmente no Angular e no Vue dá pra fazer de outras formas também.
Excelente conteúdo Luiz. Parabéns !!
Muito obrigado. :D
Bem legal, ótimo vídeo.
Fico feliz que tenha gostado, tem uma parte 2 no canal, sobre relacionamentos no Sequelize, acho que vai gostar!
Bom dia,
Primeiro: gostaria de lhe dar os parabéns, sua didática para mim é bem simples e direta ao ponto, realmente consigo entender o que você explica.
Segundo: Tenho uma pergunta, (se possível me responder eu agradeço), bem... gostaria de saber a forma correta de montar um GRUD, entre web site (desenvolvido em REACT) + APP(desenvolvido em ReactNative) ambos fazendo operações em Banco de Dados Mysql (Online). como montar minhas pastas e como chamar as requisições de maneira correta.
Desde já agradeço sua atenção..
Agradeço o feedback, mas essa sua pergunta não é bem uma pergunta né, hahaha. Tanto que a resposta pra ele está espalhada em vários tutoriais lá no blog ou em meus cursos que levam várias horas pra ser concluídos pois envolvem toda uma série de conhecimentos de front, back e banco para ser ensinado. Não é tão simples que eu consiga resumir em um comentário, desculpe.
@@LuizTools Boa tarde, é uma pergunta simples, na realidade acho que me expressei errado, mas consegui descobrir a resposta da pergunta vendo seu outros vídeos ... valeu
Que aula! Muito massa!
Obrigado 😃
Mt bom, Luiz!
Fico feliz que tenha gostado Pedro, não perde o episódio 2 (relacionamentos) e 3 (migrations), está tudo aqui no canal!
Video muito bom!
Fico feliz que tenha gostado!
obrigado.
Fico feliz que tenha gostado!
Muito bom o vídeo. Parabéns!
Você possui algum vídeo explicando o uso de Sequelize com stream?
Você se refere a stream de websockets? Se for, tem vídeos de websockets aqui no canal, só juntar os dois conteúdos e terá o que precisa.
@@LuizTools Seria no sentido de ler/inserir dados no banco de dados sob demanda, para não sobrecarregar a memória. Seria o mesmo conteúdo que você remendou?
Realmente nunca ouvi falar de streams para isso, mas talvez exista. Só conheço/usei streams para websockets e para arquivos grandes (file streams).
Ótimo vídeo
Fico feliz que tenha gostado!
Muito bom, valeu!
Fico feliz que tenha gostado!
Muito boa a explicação. Poderia fazer um com node-red, estou tentando salvar os dados de um formulario no pgadmin, porém sem sucesso.
Nunca usei Node-Red, mas se estiver usando Sequelize, não há diferença usando Postgres ou qualquer outro dos bancos suportados em relação ao que mostro no tutorial. No blog você encontra tutorial de Sequelize com Postgres especificamente, caso tenha interesse.
Parabéns pelo vídeo. Não se acha quase nada de Sequelize em português. Se pudesse fazer mais vídeos, iria ajudar muito!
Vídeos são um pouco mais trabalhosos de produzir, mas dá uma olhada lá no blog que tem vários tutoriais, é só pesquisar sequelize no canto superior direito: www.luiztools.com.br
Olá Luiz, primeiramente gostaria de agradecer a sua disponibilidade em criar conteúdo com o intuito de ajuda à comunidade de desenvolvedores. Muito obrigado, tem me ajudado muito.
Eu gostaria de tirar mais uma dúvida contigo, se possível fosse.
Minha dúvida é: Estou precisando gravar um array em uma coluna no BD, mas o sequelize não reconhece o tipo ARRAY como DataType do model.
Como eu conseguiria gravar esses dados do array no sequelize?
Desde já, agradeço!
A maioria dos bancos não permite tipo array. O Sequelize oferece suporte a array somente no Postgres, porque este banco permite esse tipo. Segue documentação do tipo com exemplo de declaração: sequelize.org/api/v6/class/src/data-types.js~array
Achei muito bom! Eu estava estudando e percebi que o horário deva ser GMT 0, como que faço pra deixar com o horário padrão de Brasília? Desde já agradeço
Se você se refere aos timestamps, a recomendação é salvar como GTM+0 no banco mesmo. Ainda assim, caso queira mudar a configuração você pode fazê-lo no objeto Sequelize: stackoverflow.com/questions/50057759/sequelize-createdat-and-updatedat-timestamps-are-wrong
Ah, e agradeço o elogio! :)
Show de bola. Mas como que faz consultas do tipo INNER JOIN e LEFT JOIN ?
No final deste vídeo eu indico a continuação, onde falamos exclusivamente de relacionamentos. Acho que é o que está procurando.
Muito bom
Fico feliz que tenha gostado!
Show Luis
Fico feliz que tenha gostado Marcos!
Muito bom!!!
Fico feliz que tenha gostado!
aula top. e como eu faria para salvar por exemplo uma imagem do produto ?
Imagens e outros arquivos binários não devem ser salvos em banco. Você salva as imagens em uma pasta pública da sua aplicação e no banco guarda apenas a URL da imagem. Aí usa essa URL no seu frontend para exibir a mesma.
Top obgd
Fico feliz que tenha gostado Victor!
Parabéns pelo conteudo, explica muito bem!. E se não for incomodo, gostaria de tirar uma duvida com você, pois ja procurei muito e ainda não encontrei uma resposta. Ao gravar um registro o campo updateAt grava com tres horas a mais, resolvi colocando o timezone : "-03:00", porem ao usar o findAll do proprio sequelize, ele me retorna a data com 3 horas a mais, mesmo que o campo no banco esteja com a hora correta. Se souber como posso . corrigir pra na hora da leitura tbm trazer a hora correta me ajudaria muito. Vlw, abraços
Fico feliz que tenha gostado. Sobre datas, sempre deve salvar no banco como UTC (+0, horário global). Depois no frontend você exibe do jeito que quiser, com o fuso que quiser, usando como apoio alguma lib de datas como a date-fns.
O próprio JS, quando você faz um console.log, já traz para o fuso da máquina do usuário, por isso que talvez você esteja se confundindo, por isso que é importante salvar certo no banco.
Boaaaa Luiz
Fico feliz que tenha gostado!
Gostaria de ver como pegar uma imagem do front, salvar no SQL e mostrar depois no front.
Não se deve salvar arquivos binários como imagens em bancos sql, degrada muito a performance. Recomendo que salve o arquivo no disco do servidor (upload) e salve no banco apenas a url ou nome do arquivo, de forma que vc possa referencia-lo na sua aplicação mais tarde.
Como consigo pegar o ultimo item inserido no banco?
Quando você chama a função de create ela já te retorna o último inserido.
Agora se quiser pegar mais tarde, basta fazer um findOne e na opção de sort passar id desc.
Na descrição do vídeo tem tutoriais de sequelize no meu blog.
Luiz, no caso das migrations, eu não as vi nesse projeto q vc criou, como eu criaria as migrations nesse caso? Apenas utilizando o sequelize-cli?
Tem um video de migrations aqui no canal, dá uma olhada nele, mas é pelo cli sim.
OI, Luiz.
Obrigado pelo vídeo!!!
Depois de assisti-lo, surgiram algumas dúvidas e gostaria de saber se poderia me ajudar...
Considere que há um BD, em produção, com as tabelas TbProduto (IdProduto, NomeProduto, IdFabricante) e TbFabricante (IdFabricante, NomeFabricante). Meus questionamentos são:
1. Como ficariam os modelos para mapear essas duas tabelas no BD?
2. Qual método o Sequelize utiliza para fazer um JOIN e, assim, retornar os campos NomeProduto e NomeProduto?
Desde já, agradeço.
Fico feliz que tenha gostado. Sobre suas dúvidas, assista ao vídeo 2, vai solucionar todas elas: th-cam.com/video/vJZ_kh7G8-k/w-d-xo.html
Porfessor, tenho um banco pronto em mysql ... Preciso criar todas as models na mão ? ou existe alguma forma de fazer com que o Sequelize conecte ao banco e crie as models no meu projeto ?
Tem de criar todos os models na mão. O Sequelize é um ORM model-first, infelizmente ele não faz engenharia reversa (database-first). Talvez tenha alguma ferramenta por aí que faça isso, mas não é oficial do Sequelize.
gostei!
Fico feliz que tenha gostado Tarlison!
e se o banco de dados já estiver criado? como faria pra puxar ? pq é diferente desse pra criar a tabela no caso.
Não existe "puxar", é a mesma coisa. Terá de criar os models iguais às tabelas que tem no banco e não vai precisar usar o comando sync, a menos que queira modificar o banco existente.
@@LuizTools então no caso seria só eu "setar" da mesma forma do video, porém pra cada tabela com os memos nomes do que tem no banco ?
Sim, você vai olhar o que tem no banco e replicar na sua aplicação, criando os models.
@@LuizTools muito obrigado kk vou tentar aqui
Excelente, parabéns ! só uma dúvida, eu percebi pelo horario que o fuso horario ta adiantado 3 horas, como faço pra corrigir? abração e gostei muito, bem direto e simples o ensino .
Se você se refere aos timestamps, a recomendação é salvar como GTM+0 no banco mesmo. Ainda assim, caso queira mudar a configuração você pode fazê-lo no objeto Sequelize: stackoverflow.com/questions/50057759/sequelize-createdat-and-updatedat-timestamps-are-wrong
Ah, e agradeço o feedback!
Ótima Aula !!! Tenho uma dúvida, já tenho minhas tabelas criadas e gostaria de fazer relacionamento entre algumas tabelas, isso é possível sem ter que recriá-las novamente ? Fiz um teste e até agora o relacionamento que criei no Sequelize não esta funcionando...no navegador quando tento acessar o endpoint recebo o erro: "include.model.getTableName is not a function"
Para criar relacionamentos via Sequelize ou você cria tudo via sync, ou você cria tudo via migrations ou faz todo o mapeamento na mão (pior caso), tabela por tabela. Esse último cenário geralmente dá problemas até que você consiga encontrar e solucionar todas diferenças.
@@LuizTools Muito obrigado Luiz pela explicação !
Fala Luiz tudo bem ? Não estou pedindo suporte não me entenda mal, apenas saber se já passou por isso, se tem ideia do que posso fazer ...
estou tendo um problema com Sequelize-6.37.1, aparentemente esta abrindo e não esta fechando as conexões, fiz a configuração do pool mas parece que isso não funciona pois estou recebendo o erro: has exceeded the 'max_user_connections' resource (current value: 20)
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000,
},
Parece ser o que você suspeita sim. Chegou a testar com meu código? Pois pode ser alguma logica que criou no seu projeto como múltiplas inicializações do Sequelize por exemplo, quando precisa apenas de uma na verdade.
Gente, tenho uma dúvida. Eu sempre preciso criar o MODELO DE DADOS? Ou se eu já tiver um banco criado (obviamente) e as tabelas criadas, eu só preciso fazer os comandos de crud?
Um ORM é para fazer o mapeamento de tabelas em entidades/objetos. Sempre se começa pelo mapeamento, que é o modelo de dados. Se já tiver o banco criado, tem de fazer o modelo mesmo assim, a diferença é que ele não vai criar o banco pra você, mas precisa do mapeamento.
Se não quiser fazer o modelo, não precisa de ORM, pode usar o driver nativo como mostro no vídeo de MySQL aqui do canal.
Professor eu consigo escrever e consulta com relatório de página HTML com js.?
JS client-side, que roda no HTML, não. Para consultar banco de dados tem de ser JS server-side, ou seja, Node.js.
se for mais de um usuário que vai acessar, da adicionar um objeto com varios usuarios e varias senhas?
Em arquitetura de aplicações web os usuários acessam o frontend. O frontend acessa o único backend. O backend vai ter um único par usuário/senha para acessar o banco de dados. Não existe qualquer necessidade do usuário da aplicação conhecer o usuário e senha do banco de dados, isso é inseguro demais.
@@LuizTools opa, primeiramente obrigado por responder. No caso é um projeto no qual tem 6 pessoas envolvidas e cada uma tem na sua máquina o projeto no vscode e o mysql com banco de dados (todos iguais, mas o acesso seria diferente, com usuário e senha diferente). Vi pela openai que dá para fazer por .env desse jeito, aí cada um criaria na sua máquina no vscode do projeto um arquivo .env com as informações de login do usuário do banco e esse arquivo ficaria configurado no .js pra informação ser variável. Acha que dá bom assim?
@@killiandatabase Novamente, vai ter apenas um par de usuário/senha em cada projeto, não precisa tentar colocar vários ao mesmo tempo no Sequelize. E sim, as configurações do seu projeto devem estar em .env, essa é uma boa prática, tem vídeo aqui no canal explicando.
@@LuizTools muito obrigado
Ainda é possível dar entrada no curso beholder ?
Bom dia Felippe. Estarei aceitando novas inscrições no final de agosto, quando encerrar a turma atual. Fica ligado nas minhas redes sociais para mais novidades.
como eu acesso apenas os dados, pois o banco já está com os dados. é obrigatório criar migrações ?
Você deve apenas criar os models e fazer as consultas e comandos com eles, como mostrei no vídeo (ignore o sync, se houver). Crie as migrations se quiser fazer alterações nas tabelas apenas ou criar novas.
@@LuizTools valeu. Vou ver o vídeo direito. Tem como fazer inner joins tbm ?
Sim, ele faz automaticamente via lazy loading quando acessa uma propriedade que é uma tabela referenciada. Ou então pode fazer via include (eager loading). Dá uma olhada na continuação desse vídeo que é sobre relacionamentos.
Não estou conseguindo fazer uma aplicação com SQL Server. Está dando erro que não está conseguindo conectar no banco pelo sequelize porque o nome do usuário está inválido, porém ele está correto. Sabe de o sequelize sofreu algum update desde a data desse video?
Ele passa por pequenos updates constantemente, mas tudo ensinado no vídeo segue funcionando normalmente. Se ficar na dúvida, pode usar a mesma versão de Sequelize que usei, o link dos fontes está na descrição do vídeo.
Às vezes que meus alunos tiveram problemas parecidos era uso incorreto de variáveis de ambiente ou então os parâmetros sendo passados na ordem errada.
@@LuizTools resolvi o problema. Estava faltando indicar a port da aplicação. Está funcionando.
Show, obrigado pelo retorno!
@@LuizTools você tem videos sobre Material UI ?
Infelizmente não tenho quase nada de conteúdos de front, pois minha especialidade é back.
Faz um vídeo sobre migrations no sequelize e como usá-los. ;)
Dá uma olhada nesse tutorial aqui: www.luiztools.com.br/post/tutorial-de-migrations-com-nodejs-e-sequelize/