Тёмный

API REST com Node.js e TypeScript | TypeORM [Atualizado] 

Guido Cerqueira
Подписаться 3,3 тыс.
Просмотров 29 тыс.
50% 1

Опубликовано:

 

18 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 187   
@hudsonfalcao
@hudsonfalcao 4 месяца назад
Muito BOM cara, peguei um projeto e resolvi usar REACT com NODE e nunca utilizei as tecnologias, a maioria das minhas duvidas sobre o BACKEND vc já resolveu aqui nesse vídeo, com esse vídeo qualquer pessoa cria um backend muito de boa, já que vc abrangeuboa parte das coisas que precisamos utilizar no desenvolvimento do mesmo. PARABÉNS!!! Conteúdo que deveria ser pago pra ter acesso de tão bom.
@paulomorais5245
@paulomorais5245 Год назад
Caro Guido. Depois de quebrar muito a cabeça de horas de pesquisa na internet, vi que o problema é com a versão do TypeOrm. Estava usando a mais recente, a 0.3.12, que parece não aceitar mais o caminho para as entidades na configuração da conexão, mas sim, a própria entidade no array entities e migrations. Vi no Github do seu projeto que a versão é 0.3.7. Mudei para essa versão e funcionou sem problemas. Caso alguém tenha o mesmo problema, essa foi a solução que encontrei. Talvez nas próximas versões do TypeOrm esse "bug" seja corrigido. Grande abraço e parabéns mais uma vez pelo belíssimo tutorial.
@PedroPeripecias
@PedroPeripecias Год назад
Realmente. Coloquei as entidades diretamente e funcionou. Muito obrigado
@patrickdarochaotero7157
@patrickdarochaotero7157 Год назад
Guido, meus parabéns, aula digna de um conteúdo pago da Cubos, cujos são de excelentíssima qualidade. Muito obrigado, aliás, pois isso serve de grande ajuda.
@guidocerqueira
@guidocerqueira Год назад
Obrigado pelo feedback, Patrick! Fico feliz em saber que gostou
@odev1997
@odev1997 2 года назад
mestre guido, você é o cara, conteúdo top d+ !!
@guidocerqueira
@guidocerqueira 2 года назад
Valeu meu querido!!!
@big_gui
@big_gui 2 года назад
Parabéns pela vídeo aula, algumas vídeo aulas mais antigas usavam comandos já defasados do typeORM foi ótimo achar esse vídeo para saber os novos comandos e ainda bem explicado com diferentes relacionamentos entre as entidades.
@guidocerqueira
@guidocerqueira 2 года назад
Muito obrigado pelo feedback, Guilherme
@alissonhonostorio
@alissonhonostorio Год назад
Obrigado por ensinar essa nova sintáxe do typeorm, eu havia usado ele quando ainda era com createConnect e como foi depreciado esse modelo eu estava bem perdido. Vlw!!
@gabrielrodriguesricardo
@gabrielrodriguesricardo Год назад
Bacana demais sua aplicação! Atualmente venho utilizando a lib ts-node-dev ao invés do nodemon. Ambas são ótimas.
@guilhermealbino8737
@guilhermealbino8737 2 года назад
Excelente explicação, principalmente no uso da nova versão do typeorm.
@Brennerscunha
@Brennerscunha Год назад
Gostei muito, poderia criar um crud completo utilizando esse mesmo projeto. (post, put, get, delete, path) E tmb utilizando o projeto de Autenticação JWT como um micro serviço, para acessar esse projeto de aulas, como um sistema mesmo, como vc logado o serviço das aulas acessaria pegando o token de autenticação.
@moisespires2880
@moisespires2880 Год назад
Muito bem explicado, obrigado por dividir com a gente seu conhecimento.
@gabrielnathanalmeidasilva8554
Man voce me salvou tanto que vc nem tem ideia nao tava conseguindo usar o Repository e nem o DataSource nem ferrado, abraco de mais
@tobiascorrea7248
@tobiascorrea7248 Год назад
Parabéns mestre que aula incrível, super bem explicado, pessoas como você, com um dom incrível de ensinar agregam muito valor na vida de quem está começando como eu. Parabéns pelo conteúdo
@guidocerqueira
@guidocerqueira Год назад
Muito obrigado pelo feedback, Tobias. Sucesso na carreira!!
@uitalorss
@uitalorss 11 месяцев назад
Guido, esse tutorial me ajudou bastante nos primeiros passos com typeorm, Muito obrigado pelo conteúdo.!! Eu só queria uma dica nesse caso, com relação a adicionar outra disciplina para a turma, pois desse jeito como está no vídeo ele tá apenas substituindo o valor da disciplina vinculada a turma, e não adicionando.
@JoaoVitor-pc4ps
@JoaoVitor-pc4ps 2 года назад
Valeu! Me ajudou bastante, ainda mais com essa lógica de relacionamento que tá demorando pra entrar na caixola. Obrigado!
@everson_vinicius
@everson_vinicius Год назад
Pessoal que está tendo problemas em gerar as migrations, altera a versão do TypeORM para 0.3.7, que vai ficar de acordo com o vídeo. Essa ferramenta está sofrendo muitas alterações e está tirando o sono de uma galera. Melhor migrar pro Prisma, que é mais interessante
@DeyvsonAguiar
@DeyvsonAguiar Год назад
também acho... Estava testando essa versão, estava tendo problemas há alguns dias e emperrado no tutorial na parte de dar o migration:generate , mas após o update do meu package.json fiz novamente o generate e... deu no mesmo... fica emperrado no "no changes in database..." mesmo fazendo o hacker que o guido me pediu, uma pena... to já abandonando essa ferramenta! Typeorm tá muito instável e difícil de trabalhar por causa da documentação que atualizou e nada mais funciona como antes
@jofredenovais
@jofredenovais Год назад
Concordo plenamente
@SniperElitexD
@SniperElitexD Год назад
Mais louco é que apontando pro banco X funciona. Mudei pro Y e tomei "no changes in database...", vai entender
@vini_oliveir4
@vini_oliveir4 Год назад
Muito bom, estava tendo problema na versão mais recente do typeorm ele não identificava os caminhos das migrations e entities, troquei a versão para 0.3.7 funcionou normalmente.
@rafaelrodrigues-sl2up
@rafaelrodrigues-sl2up Год назад
vlw mano, travei nessa parte das migrations e depois vim aqui ver se alguém tinha tido o mesmo problema e consegui resolver lendo o seu comentário.
@viniciussantiagobezerra2608
@viniciussantiagobezerra2608 2 года назад
A documentação* do TypeORM é decepcionante... Tu me ajudou demaaais! :)
@guidocerqueira
@guidocerqueira 2 года назад
Que bom que te ajudou, Vinicius. Obrigado pelo feedback!
@arcenionetofrancisco6160
@arcenionetofrancisco6160 2 года назад
Parabéns pelo conteúdo Guido! Acho que é o único vídeo que encontrei usando data-source com TypeORM.
@guidocerqueira
@guidocerqueira 2 года назад
Muito obrigado pelo feedback, Arcenio!
@Matuzeds
@Matuzeds Год назад
Para quem talvez esteja com o problema de não conseguir gerar as migrations, aqui o que funcionou para mim: 1- Deixei o typeorm na mesma versão do vídeo (^0.3.7) 2- Deletei o db e criei novamente com o mesmo nome 3- (mais importante) No arquivo data-source.ts eu não utilizei o atalho para pegar as entidades automaticamente da pasta dist/src. Eu importei e referenciei cada entidade no caminho, e só depois disso consegui gerar as migrations, além de apontar diretamente o caminho das migrations também. exemplo do meu arquivo data-source.ts: import { User } from './entities/User'; export const AppDataSource = new DataSource({ ... entities: [User], migrations: ['./migrations/default/*.ts', });
@LucasGarcia-mn5yo
@LucasGarcia-mn5yo Год назад
boa, me ajudou muito. Obrigado. eu nem precisei deletar o db, só importei a entidade direto no arquivo data-source.
@lidroxd6869
@lidroxd6869 Год назад
Quase morro de ódio. São 3 da manhã
@cristhiancunha
@cristhiancunha Год назад
Muito bom, essa aula me foi de grande ajuda, só gostaria de apontar um erro, ao adicionar uma disciplina a aula, ela não adiciona a disciplina ao array como esperado e sim sobrescreve o valor, assim o array de disciplinas da aula fica sempre com apenas um elemento.
@JOAOCARLOSMourace
@JOAOCARLOSMourace 2 года назад
Olá, permita uma sugetão. Um vídeo mostrando de como fazer o build e o deploy em algumas plataformas. Isso seria muito legal!!! Abraço!
@machinzero2139
@machinzero2139 2 года назад
Apoio, de preferencia no heroku
@jonathanlopes6010
@jonathanlopes6010 2 года назад
Aula incrível professor guido
@edkinggameraleatorioao7689
@edkinggameraleatorioao7689 Год назад
Muito bom💯
@ticianofilho16
@ticianofilho16 Год назад
Excelente aula e excelente didática. Obrigado pelo vídeo.
@deisecristiane
@deisecristiane Год назад
Que aula perfeitaa, obrigada por esse conteúdo!
@machinzero2139
@machinzero2139 2 года назад
Cara eu estive dias passando sufoco com isso, toda hora um problema mesmo lendo toda a documentação, vídeo útil e que nem mesmo no youtube gringo se encontra atualizado assim. Valeu ps: Sugestão de vídeo: como fazer deploy de API no Heroku com banco SQL em typeorm
@guidocerqueira
@guidocerqueira 2 года назад
que bom saber disso. Agradeço pelo feedback e anotado sua sugestão.
@machinzero2139
@machinzero2139 2 года назад
@@guidocerqueira Cara uma dúvida. Eu diferente de ti, invés de criar a pasta de migrations dentro da pasta src apenas, eu quis direcionar ela para dentro de uma pasta "database" dentro de "src". Porém quando eu dou o comando de migrations estou me deparando com o erro "No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command" Pode me verificar se os caminhos estão corretos? "migration:generate": "typeorm-ts-node-commonjs -d ./src/database/config.ts migration:generate ./src/database/migrations/default", na datasource: entities: [`${__dirname}/**/entities/*.{ts,js}`], migrations: [`${__dirname}/**/database/migrations/*.{ts,js}`], ps: minha datasource config está dentro de config.ts dentro dessa mesma pasta database
@walacediascalmon8520
@walacediascalmon8520 Год назад
Muito bom e simples a aula Agora vou tentar usar com o Google Cloud.
@rodrigodectba
@rodrigodectba Год назад
Muito bom tutorial Obrigado Guido por compartilhar seus conhecimentos. Desejo muito sucesso pra você!!!
@guidocerqueira
@guidocerqueira Год назад
Muito obrigado pelo feedback, Rodrigo!!
@alexcndd
@alexcndd 2 года назад
Cara muito boa a aula, parabéns!
@joelmaciel123
@joelmaciel123 4 месяца назад
Otima didatica, parabens
@estevaolibardi
@estevaolibardi 2 года назад
Cara muito obrigado! Que aula maravilhosa
@isaqueti7171
@isaqueti7171 Год назад
Sensacional, obrigado por partilhar seu conhecimento.
@luisfelipedasilva7128
@luisfelipedasilva7128 Год назад
Excelente vídeo, passei boas horas e aprendi bastante coisa!!! Obrigado!
@marcelocosta8744
@marcelocosta8744 Год назад
Parabéns, excelente didática!!
@euassistovc3325
@euassistovc3325 2 года назад
seu canal é muito bom parcero parabéns !
@guidocerqueira
@guidocerqueira 2 года назад
Obrigado pelo feedback!!
@viniciuspa87
@viniciuspa87 Год назад
Excelente vídeo, excelente conteúdo! 👏👏👏👏👏👏👏👏👏👏
@lucasdamasceno7068
@lucasdamasceno7068 Год назад
aula top bro
@LemonadeMe88
@LemonadeMe88 Год назад
Boa aula amigo, achei bastante didático!
@raypenha2572
@raypenha2572 2 года назад
Acabei de me inscrever Parabéns pros conteúdos dedos, amplos e super atuais !
@guidocerqueira
@guidocerqueira 2 года назад
muito obrigado pelo feedback
@jardelnunes6363
@jardelnunes6363 2 года назад
Excelente aula! Parabéns!!!
@gabrielrodriguesricardo
@gabrielrodriguesricardo Год назад
Sobre as migrations:generate, eu alterei o script pois é uma boa prática nomear os arquivos, ao invés de colocar default
@elielsonl77
@elielsonl77 Год назад
como ficou o script alterado?
@LucasGarcia-mn5yo
@LucasGarcia-mn5yo Год назад
que rico vídeo, ajudou bastante, muito obrigado!!
@webmasterdeveloper3793
@webmasterdeveloper3793 Год назад
muito bom !
@WarlleiSM196
@WarlleiSM196 3 месяца назад
Você consideraria que essa aula desenvolve um projeto que utiliza conceitos avançados de node?
@leandrodavimg
@leandrodavimg Год назад
Boa aula, muito bom mesmo!
@LucasRibeiro-fc1om
@LucasRibeiro-fc1om Год назад
Ótimo vídeo! Me ajudou muito 👏👏👏
@mauriciomdemoura
@mauriciomdemoura Год назад
Agradecido bro, me ajudou demais!
@deyvisongtr
@deyvisongtr 2 года назад
Excelente vídeo !
@devweb7926
@devweb7926 Год назад
Muito top a aula
@rgdesenvolvimento
@rgdesenvolvimento Год назад
Ótimo conteúdo
@igorgregorio6212
@igorgregorio6212 2 года назад
professro do jeito que vc fez a inserção em room_subject ele sempre atualiza a tupla que possui a room_id passada pelo seu param... ela n cria diversas tuplas com a mesma room_id e diferentens subject_id... ele só atualiza o subject_id where room_id = req.param
@guidocerqueira
@guidocerqueira 2 года назад
sim... identifiquei isso já. Pra corrigir vc inverte o q está em joincolumn pelo q está em inversejoincolumn na entidade Subject
@igorgregorio6212
@igorgregorio6212 2 года назад
@@guidocerqueira esse foi outro erro, as FK estavm invertidas... mas ainda sim ele atualizava o subject_id da room_subject que continha o room_id que era passado... a solução que encontrei foi com query builder await AppDataSource .createQueryBuilder() .relation(Room, "subjects") .of(room) .add(subject) const roomUpdated = await RoomRepository.find({ where: { id: room.id}, relations: { subjects: true } }) return res.status(200).json(roomUpdated) nesse caso ele adiciona diversas subject_id pra uma mesma room_id e retorna a room com as respectivas subjects
@dev.caixeiroviajante
@dev.caixeiroviajante 2 года назад
Valeu, amigo ! Otimo conteudo.
@kinerikin
@kinerikin Год назад
Guido, qual foi essa Tools Diagram Physical vc usou? Ahh! Obrigado pelo excelente conteúdo!
@guidocerqueira
@guidocerqueira Год назад
Usei o Navicat Data Modeler
@hebertfernandesdelima7672
@hebertfernandesdelima7672 Год назад
Excelente aula, didática perfeita!!! Poderia me dizer o por que não passamos um if para ver se o usuário digitou o que é preciso no body? igual o nome da sala, titulo do video e etc...
@guidocerqueira
@guidocerqueira Год назад
você pode fazer essa validação tranquilamente, inclusive, sugiro que sempre faça. No vídeo preferi por não fazer para o vídeo não ficar maior ainda.
@hebertfernandesdelima7672
@hebertfernandesdelima7672 Год назад
@@guidocerqueira show. Muito obrigado!
@viquitorreis
@viquitorreis Год назад
Pessoal, alguém sabe qual app ele está usando para fazer esse diagrama do DB?
@programandocomandersonsouza
??
@paulomorais5245
@paulomorais5245 Год назад
Boa tarde. Ótima vídeo aula. Explicativa e didática excelente. Parabéns. À propósito, que software você usou para fazer o design do banco de dados? Se alguém souber, por favor, responde nano meu comentário. Ficarei grato. Grande abraço.
@guidocerqueira
@guidocerqueira Год назад
Obrigado pelo feedback, Paulo. Estou usando o navicat data modeler para modelagem do banco
@paulomorais5245
@paulomorais5245 Год назад
@@guidocerqueira Grato pela atenção em responder.
@gabrielpacheco5219
@gabrielpacheco5219 Год назад
Poderia ter colocado no vídeo a parte de criação de banco de dados
@annakks
@annakks Год назад
A Atualização do TypeORM esta em conflito com os demais dependências, resultando no comando npm run migration:generate, a mensagem: "No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command" Faça um uninstall e baixar uma versão anterior, configuração que a app roda sem problemas: "devDependencies": { "@types/express": "^4.17.17", "@types/node": "^18.15.1", "nodemon": "^2.0.21", "ts-node": "^10.9.1", "typescript": "^4.9.5" }, "dependencies": { "dotenv": "^16.0.3", "express": "^4.18.2", "pg": "^8.8.0", "reflect-metadata": "^0.1.13", "typeorm": "^0.3.10" } Espero ajudar!!!!✌🏻
@henriqueabreu78
@henriqueabreu78 2 года назад
Muito bom!
@MotoCode
@MotoCode Год назад
Pessoal que estiver com problemas de não criar as tabelas no banco: Verifica no script criado no json, no generate, a parte que especifica o nome da pasta que será criada em ./src/migrations
@pedrohenrickmesquitacosta5206
@pedrohenrickmesquitacosta5206 2 года назад
Cara, você não tem noção do quanto me salvou aqui. Obrigado mesmo! essa nova atualização me quebrou. Mas deixando uma dúvida, assim como no sequelize, é possível criar seeders para popular o banco com o typeORM? VALEU!
@guidocerqueira
@guidocerqueira 2 года назад
Obrigado pelo feedback. É possível sim. Precisa instalar uma lib que se n me engano chama “typeorm-seeding”
@CodewebTecnologia
@CodewebTecnologia Год назад
Para quem enfrentar o problema: No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:createerror Command failed with exit code 1. Causa: Não está encontrando o caminho das suas entidades. Existem soluções possíveis: 1 - Remova o caminho em Entities: [`${__dirname}/**/entities/*.{ts,js}`] e declare manualmente suas entiidades ex: [Video, Photo, Post] 2 - Descubra o caminho correto e corrija por exempo: Entities: [`${__dirname}/**/entities/*.{ts,js}`] troque por : entities: [`${__dirname}./../../entities/*.{ts,js}`] espero que ajude alguém.
@davidmateusleitedasilva4614
Estou tendo error: "connect ECONNREFUSED". Acredito que seja por não saber configurar o beekeeper(Estou tendo o contato pela primeira vez com a ferramenta).
@Matuzeds
@Matuzeds Год назад
To com o mesmo problema... vc conseguiu resolver? Eu não to usando beekeeper, to usado o dbeaver pro banco, mas consigo conectar certinho. To achando que pode ser alguma versão das dependencias ou algo assim...
@jhon7925
@jhon7925 10 месяцев назад
Tive esse erro tentando criar o projeto em minha máquina.. é só instalar o postgre do site, e configurar certinho que tudo da certo.
@hebertcosta5517
@hebertcosta5517 Год назад
Qual o nome do programa que ele está usando no vídeo para criar o desenho do MER do banco de dados?
@joaopaulosilvaleite6890
@joaopaulosilvaleite6890 Год назад
Olá , parabéns pela aula . Em que momento você mostra como configurar os comandos start e build no package.json? Obrigado!
@vannymartins2
@vannymartins2 2 года назад
Muito bom! Tutorial simplificado e muito bem explicado. Me ajudou muito. Obrigada!
@guidocerqueira
@guidocerqueira 2 года назад
Que bom ajudou, Vanessa. Obrigado pelo feedback!
@DeyvsonAguiar
@DeyvsonAguiar Год назад
Guido, não consigo sair dessa erro mesmo "No changes in database schema..." fazendo os passos do vídeo... da outra dica ai fora a do vídeo.
@guidocerqueira
@guidocerqueira Год назад
Opa. Cara, essa mensagem é bem sugestiva. Ela só vai criar a migration se tiver alterações nos models ou caso crie um novo model. Isso, se vc tiver usando a mesma versão do vídeo, não tem erro e nem outro caminho para criação automaticamente das migration. Uma alternativa é vc criar manualmente.
@DeyvsonAguiar
@DeyvsonAguiar Год назад
@@guidocerqueira fiz a atualização... mesmo erro. Infelizmente vou ter que abandonar o projeto... a explicação ta otima! Mas o typeorm ta dando dor de cabeça com bugs no controle de versionamento.
@guidocerqueira
@guidocerqueira Год назад
Saquei man. Tenta usar o prisma. Tô planejando alguns conteúdos pra ele aqui
@DeyvsonAguiar
@DeyvsonAguiar Год назад
@@guidocerqueira top... vou aprender outros ORM pra poder fazer essa troca posteriormente, mas fiz um Notion de todo seu tutorial... incrível como vc é bem didático ao estilo bootcamp! É o que eu preciso pra praticar programação... to de olho no seu canal e te já to te seguindo no Linkedin... to em busca da migração de carreira e ter referências de código javascript é essencial! Grato.
@rafaelsantos-md5ho
@rafaelsantos-md5ho Год назад
Que gratificante esse video cara, parabens pela dedicação, bem objetivo e ensina muito bem
@PedroNeres
@PedroNeres Год назад
mano, pode me ajudar? já fiz de tudo, fiz, e refiz, mas não sei o que esta de errado, o server fica da start normal, na porta 3000, (tentei em outras portas também) mas quando tento a requisitação mesmo a de teste, do começo, o postman fica enviando, enviando, e nunca retorna.
@guilhermemenezes3049
@guilhermemenezes3049 Год назад
o meu fica dando esse erro: No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command
@brunoamorim649
@brunoamorim649 2 года назад
bom demais mano, parabens
@guidocerqueira
@guidocerqueira 2 года назад
Valeu Bruno, obrigado pelo feedback!
@danielvinicius5386
@danielvinicius5386 Год назад
Excelente aula! Qual o nome do software usado pra criar o modelo relacional?
@guidocerqueira
@guidocerqueira Год назад
Opa... Uso o Navicat Data Modeler
@jacsonsasse3906
@jacsonsasse3906 Год назад
Cara eu tô com um B.O que não consigo resolver. Meu TypeORM ta na versão 0.3.12, e misteriosamente ele conecta com o banco de dados, mas não encontra as migrations pra executar nele. Também está com problema no comando "migration:generate" que retorna "no changes in database", mas o comando "migration:create" está ok. O problema é o "migration:run", que conecta no banco, cria a tabela de migrações, mas não executa as migrações. Já mudei tudo que tinha que mudar no DataSource, apontando para a pasta de várias formas diferentes, mas não vai de forma alguma. Alguém já resolver esse B.O?
@vradriano
@vradriano Год назад
Guido, como eu faria uma tabela que é "one-to-one", e "one-to-many" ao mesmo tempo? Por exemplo: Tabela de usuário possui one-to-one com tabela de uma conta(id) de "banco", e o id é one-to-many com uma tabela de transações. Muito obrigado pelo seu vídeo, é fantástico!
@guidocerqueira
@guidocerqueira Год назад
Faria normalmente. O id do usuário é a chave primária. Na tabela de contas vc teria a chave estrangeira pro id de usuário e na tabela transações a mesma coisa
@brunomoura269
@brunomoura269 Год назад
Video muito bom, mestre!! Mas tenho uma duvida, se eu quiser criar uma migration manualmente, qual comando eu preciso rodar? Nas versões anteriores do typeorm, eu conseguia criar uma migration manualmente e passar o nome da migration pela linha de comando. Nessa versão mais nova, como devo proceder?
@HSnake5
@HSnake5 Год назад
Estranho que na hora de gerar as migrações ele me dá um erro dizendo que o data-source é undefined. O caminho está correto, mas por algum motivo parece que depois do .initialize() ele passa a ser undefined
@EssaeuQueroVer
@EssaeuQueroVer 2 года назад
Fala Guido! Tudo certo? Cara gostei demais o seu conteúdo e didática, acredito que você possa ajudar mais pessoas que estão na mesma situação que eu estou. A dúvida é sobre como realizar o salvamento de vários registros que vem do Method Post e que possuem dados da Tabela 1 e Dados para serem armazenados na Tabela2 que possuem Relations OneToMany. Só existe o caminho usando o FOR ou tem outra forma para que o Framework salve os dados sem precisar do FOR? Agradeço demais.
@guidocerqueira
@guidocerqueira 2 года назад
Opa. Obrigado pelo feedback. Então, o método save aceita um array de registros também. Não sei se é isso que precisa, mas faz um teste e me avisa se funcionou
@EssaeuQueroVer
@EssaeuQueroVer 2 года назад
@@guidocerqueira Valeu Guido, já tentei salvar vários registros com um array que tem relations (Lista de Compras e Itens para Compra), mas não tive sucesso. Faço o salvamento com For mesmo, sabendo que este não deve ser o melhor caminho...
@PedroPeripecias
@PedroPeripecias Год назад
Fala Guido, conheci seu canal agora pouco e ja gostei da sua didática. Estou conseguindo aprender bastante de como que trabalha com o typeOrm, mas estou travado em um probleminha, que no caso é na hora de gerar as migrações, ele aponta esse erro aqui "No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command". Simplesmente ele fala que não foi encontrada nenhuma alteração. Ja pesquisei em foruns e nada de achar uma solução, olhei o codigo de cabo a rabo e nada de encontrar alguma inconsistência. Queria saber se isso ja ocorreu com você e se tem alguma maneira de solucionar
@guidocerqueira
@guidocerqueira Год назад
Fala man. Essa mensagem não é um erro e sim o que ela mesmo informa. Caso não tenha nenhuma alteração nos seus models, ele não gera as migrations automaticamente.
@PedroPeripecias
@PedroPeripecias Год назад
@@guidocerqueira Fala man. Então, resolvi esse problema, passando direto o caminho das entidades, com o import e infelizmente, mesmo assim tive que fazer um downgrade da versão do typeOrm de 0.3.12 para 0.3.7, porque mesmo solucionando o problema de fazer as migrations, ele apontou outro mensagem quando dava o migration:run dizendo que não havia nenhuma migration no caminho passado, com isso, passei pra versão 0.3.7 e o caminho pegou.
@paulomorais5245
@paulomorais5245 Год назад
Olá Guido, tudo bem? Fiz todo o seu projeto e funcionou sem problemas. Criei um novo projeto e segui os mesmos passos. Agora quando rodo o comando migration:generate dá o seguinte erro: No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command. Já quebrei a cabeça aqui por alguns dias e não consigo descobrir o motivo, pois esse novo projeto está com as mesmas configurações do que eu fiz seguindo sua vídeo aula, inclusive as mesmas versões das bibliotecas. Quanto tiver um tempinho e puder, poderia me dar alguma dica de como resolver? Pesquisei nos fóruns e todas as dicas que encontrei não funcionaram. Todas eram relativas ao path no data-source para as entities e migrations. Grato.
@PedroPeripecias
@PedroPeripecias Год назад
Conseguiu resolver mano ? To com o mesmo problema
@DaviSilvaGuitar
@DaviSilvaGuitar 2 года назад
parabéns pela aula. Uma dúvida: ao inves de criar uma const como vc fez na parte do repositorioes, poderia criar uma classe que extendesse AppDataSource e que recebesse o a entidade no construtor repassando para o super ? Faria sentido isso ?
@guidocerqueira
@guidocerqueira Год назад
faz sim, Davi. Já implementei dessa forma
@artemis.io7
@artemis.io7 Год назад
Excelente vídeo mestre, pode me dizer o nome do app que você está usando como diagrama? Obrigado pelo vídeo!!!
@guidocerqueira
@guidocerqueira Год назад
Opa. Uso o navicat data modeler
@diegoserrat8279
@diegoserrat8279 Год назад
Pessoal alguém está tomando esse erro? No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command
@Garoze
@Garoze 2 года назад
Cara valeu de mais pelo video, mas eu fiquei com uma duvida, qual seria a melhor forma pra gerar as migration com nome? Porque eu lembro que antes tinha dentro do ormconfig.json a opção de migrationsDir, e ai tu podia chamar só o migration:create -n Nome que ele geraria, eu vi que no video tu ta fazendo com o default, tem alguma ideia de como poder ser feito agora?
@guidocerqueira
@guidocerqueira 2 года назад
Opa... obrigado pelo feedback. Você consegue gerar a migration manualmente normalmente, mas é preciso passar o caminho com o nome do arquivo junto com o comando migration:create. Isso é muito confuso no TypeORM, mas funciona.
@Luciaraabreu
@Luciaraabreu Год назад
Profe, estou criando um API com typeorm e estava segundo seu tutorial e aconteceu um erro aqui.... Se você ou alguém já pegou esse joça e resolveu me de umas dicas. Estou a um dia e meio me debatendo e ainda não consegui saber oque estou fazendo de errado. Este é o bendito =====> EntityMetadataNotFoundError: No metadata for "User" was found. Já alterei essa parte ==> entities: [`${__dirname}/**/entities/*.entity.{ts,js}`], migrations: [`${__dirname}/**/migrations/*.{ts,js}`], umas mil vezes com varias dicas e nenhuma resolveu import 'dotenv/config' import 'reflect-metadata' import { DataSource } from 'typeorm' import express from 'express' const app = express() app.use(express.json()) const port = process.env.DB_PORT as number | undefined const AppDataSource = new DataSource({ type: 'postgres', host: process.env.DB_HOST, port: port, username: process.env.DB_USER, password: process.env.DB_PASS, database: process.env.DB_DBNAME, entities: [`${__dirname}/**/entities/*.entity.{ts,js}`], migrations: [`${__dirname}/**/migrations/*.{ts,js}`], }) AppDataSource.initialize() .then(() => { return app.listen(process.env.PORT, () => { console.log(`Connection initialized with database. 🏆 `, process.env.PORT, '🏆') console.log('') console.log('✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨') }) }) .catch(error => console.log(error)) export default AppDataSource
@leandrodeoliveira6779
@leandrodeoliveira6779 2 года назад
Conteúdo muito bom :), você sabe se tem como adicionar outra coluna na tabela criada automaticamente com as 2 foreign keys? ou precisa fazer outra entidade para isso?
@guidocerqueira
@guidocerqueira 2 года назад
Obrigado pelo feedback, Leandro… Não entendi muito bem a pergunta, mas se for em relação a criação de novos campos na entidade, basta adicionar o campo que deseja ou alterar qualquer coisa na sua entidade que quando gerar a migration será criada automaticamente
@leandrodeoliveira6779
@leandrodeoliveira6779 2 года назад
@@guidocerqueira consegui resolver, eu queria adicionar mais colunas na tabela room_subject por exemplo, dai tive que fazer uma entidade, no vídeo você usou JoinTable.
@david_nascimento1v9
@david_nascimento1v9 2 года назад
Quando uso comando migration:generate da um erro "No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command"
@guidocerqueira
@guidocerqueira 2 года назад
Essa mensagem significa que não tem nenhuma alteração nas suas entidades para gerar uma nova migração. Experimenta criar um novo atributo em uma de suas entidades e roda novamente que uma nova migração será criada
@david_nascimento1v9
@david_nascimento1v9 2 года назад
@@guidocerqueira Simplismente minha cabeça explodiu pq eu acompanhei o projeto com você e na hora que eu rodei o "npm run migration:generate" deu esse erro e eu tinha acabado de criar as entidades, mas deu certo quando fiz as alterações que tinham na continuação do projeto, na hora q dei o comando rodou tudo certo e gerou as migrations. Obrigado por estar a disposição pra responder a gente por aqui. Sucesso irmão.
@guidocerqueira
@guidocerqueira 2 года назад
@@david_nascimento1v9 sempre que precisar e eu puder ajudar, estarei aqui!
@machinzero2139
@machinzero2139 2 года назад
@@david_nascimento1v9 Cara comigo está dando o mesmo erro, como você fez? Eu entrei no admin do meu banco e não tem nada lá gerado e mesmo assim persiste o erro para toda entidade que crio
@endrewfrimostebarroscorrea8657
@endrewfrimostebarroscorrea8657 2 года назад
tive o mesmo problema, resolvi copiando package.json e usei o comando yarn dependencies, que instalou os pacotes com a versão do video, depois disso não tive nenhum problema
@lucasborges5523
@lucasborges5523 2 года назад
Ótimo conteudo cara vlw! Porem na segunda vez vendo vídeo não conseguir fazer, migration:generate tenta recriar as tabelas que já existem. Sabe pq?
@guidocerqueira
@guidocerqueira 2 года назад
Isso é pq vc gera uma migration e não executa a mesma. Após criar uma migration vc deve executa-la, caso contrário, a migration n será registrada e ele criará outra igual
@WarlleiSM196
@WarlleiSM196 3 месяца назад
Pra quem está tendo problema com a criação da migration: export const AppDataSource = new DataSource({ type: "postgres", host: process.env.DB_HOST, port: port, username: process.env.DB_USER, password: process.env.DB_PASS, database: process.env.DB_NAME, entities: [Room, Video], //passe as entidades diretamente migrations: [`${__dirname}/**/migrations/*.{ts,js}`] })
@maciel.ferreira
@maciel.ferreira 2 года назад
Ótimo vídeo. Tentei fazer a conexão usando mysql, com os mesmos parâmetros, alterando apenas o type e instalando a lib mysql ao invés de pg. Mas não rola nem a pau. Alguma dica para usar mysql?
@guidocerqueira
@guidocerqueira 2 года назад
Olá Maciel. A configuração com o MySQL é a mesma coisa, basta mudar o type e a lib é a mysql2. Qual erro você recebe?
@lucasborges5523
@lucasborges5523 2 года назад
@@guidocerqueira Deve ser o mesmo que o meu: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client'
@netinhonaruto10
@netinhonaruto10 Год назад
como vc conseguiu colocar o postman em dark mode?
@analyce-ferreira
@analyce-ferreira Год назад
TypeScript usa obrigatoriamente classes?
@guidocerqueira
@guidocerqueira Год назад
Não necessariamente. Pode usar funções assim como usamos com JavaScript puro.
@JPEDRO-cd8mn
@JPEDRO-cd8mn 2 года назад
Guido sua aula tá incrivel, porém estou com um problema na hora de gerar minha migration, aparece o seguinte problema => error Command failed with exit code 1. Error during migration generation: TypeError: dataSourceFileExports is not iterable Poderia me ajudar ?
@guidocerqueira
@guidocerqueira 2 года назад
Fala João. Obrigado pelo feedback. Eu precisava saber como vc configurou sua migration e seu data-source pra poder te ajudar. Apenas o erro é muito pouco pra saber o motivo
@JPEDRO-cd8mn
@JPEDRO-cd8mn 2 года назад
@@guidocerqueira Teria alguma forma de mostrar a você? Eu já tentei varias coisas aqui mas não foi ainda.
@guidocerqueira
@guidocerqueira 2 года назад
Me manda um print na DM em meu Instagram que tento te ajudar
@JPEDRO-cd8mn
@JPEDRO-cd8mn 2 года назад
@@guidocerqueira Guido, conseguir corrigir o erro na força da curiosidade, fui fazendo uma conferência entre nossos codigos e entendi oque estava errado, agora já funcionou e agarrei em outra etapa, vou continuar fuçando e olhando as possibilidades, queria conferir se tem alguma diferença no teste de rota, estou utilizando o insonmia para fazer o post mas não está indo. Muito obrigado pela sua atenção
@joshbarros1995
@joshbarros1995 Год назад
Cara, que conteudo top!!! Valeeeeu!!! Uma duvida: no meu docker eu chamo o serviço de database de "db", então eu configuro o host como "db" no .env do projeto... mas quando eu rodo "typeorm:generate" fica dando erro e só funciona se eu trocar para "localhost"... Como voce consegue lidar com esse cenario?
@guidocerqueira
@guidocerqueira Год назад
Eu adiciono no script em package.json o seguinte: DB_HOST=db typeorm-ts-node…
@guidocerqueira
@guidocerqueira Год назад
Assim ele seta a variável DB_HOST antes de rodar o comando
@guidocerqueira
@guidocerqueira Год назад
*DB_HOST=localhost
@joshbarros1995
@joshbarros1995 Год назад
Aqui tá dando certo, valeu pela força!!! Só vou ter que configurar os caminhos para entidades e migrations porque tô usando uma arquitetura de pastas bem diferente
@JOAOCARLOSMourace
@JOAOCARLOSMourace 2 года назад
Olá, parabéns pelo video. Uma pergunta: Como seria para usar raw sql? Obrigado
@guidocerqueira
@guidocerqueira 2 года назад
Olá João, obrigado pelo feedback. Para escrever o SQL puro basta usar o método query, da seguinte forma: repository.query('select * from users where id = ?', [1])
@JOAOCARLOSMourace
@JOAOCARLOSMourace 2 года назад
@@guidocerqueira Muito obrigado!!!
@caiomarcelo3153
@caiomarcelo3153 Год назад
Alguem pode me ajudar com este erro, ao usar o yarn migration:generate. " No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command error Command failed with exit code 1. "
@paulomorais5245
@paulomorais5245 Год назад
Caio, tive o mesmo problema. Depois de quebrar a cabeça por dias, descobri que o problema é um bug na versão mais recente do TypeOrm, a 0.3.12... desinstale ela e instale a versão 0.3.11... para garantir, primeiro você executa yarn remove typeorm para remover a versão que está instalada... depois, yarn add typeorm@0.3.11 para instalar a versão exata 0.3.11 do typeorm. Pra mim isso resolveu... caso não resolva pra você, tenta com versões mais antigas do typeorm, tipo, 0.3.7, que é a versão que o Guido usa no projeto do vídeo. Posta aqui o resultado se deu certo. Abraços.
@caiomarcelo3153
@caiomarcelo3153 Год назад
@@paulomorais5245 Salvou D+ mano. Era problema de versão mesmo.
@pedromota5102
@pedromota5102 Год назад
@@paulomorais5245 Valeu meu querido! Salvou demais
@thiagosouza9109
@thiagosouza9109 2 года назад
Falto o service, mas ta ok. Prefiro fazer a regra de negócio no service
@srbittencourtt1334
@srbittencourtt1334 2 года назад
Estou tomando o seguinte erro: Error: database "api_rest_typescript" does not exist tempo em vídeo 24:12 Alguem consegue da uma força?
@guidocerqueira
@guidocerqueira 2 года назад
Observe que o problema é porque ele não encontrou o banco de dados com esse nome. Verifique seu .env ou data-source se está passando o nome corretamente.
@srbittencourtt1334
@srbittencourtt1334 2 года назад
@@guidocerqueira não é necessário fazer nenhum tipo de configuração posterior do visual studio? por exemplo... eu já tenho que ter um banco ouvindo esperando conexão ? Eu já verifiquei mil vezes tudo a ponto de reassistir o vídeo, estamos identicos no código!
@guidocerqueira
@guidocerqueira 2 года назад
Vc precisa ter um banco de dados criado com esse mesmo nome
@DUDU1386
@DUDU1386 Год назад
@@srbittencourtt1334 Obtive o mesmo problema, precisava apenas criar o banco de dados, criei manualmente o banco de dados e deu certo.
@eovinicius10
@eovinicius10 Год назад
qual nome da fonte ?
@felipematheus6518
@felipematheus6518 Год назад
Camarada, quando é o momento de ir para TS?
@guidocerqueira
@guidocerqueira Год назад
No meu ponto de vista, quando você se sentir seguro o suficiente com o JavaScript. Isso não significa saber tudo, mas entender o que a linguagem te oferece. O TypeScript pode ser considerado como uma evolução do JavaScript, um JavaScript melhorado, que te ajuda a cometer menos erros.
@felipematheus6518
@felipematheus6518 Год назад
@@guidocerqueira Entendo! Pergunto isso porque sou estagiário, estou 1 ano e meio na área, minha main stack é react e java(spring boot), mas tenho visto node, com express e javascript, mas faz um tempo não só pelo react, mas uma vontade de ir pro TS, mas sempre fico na dúvida se estou apto, acredito que por ter conhecimento de uma linguagem tipada como java, vai facilitar o aprendizado
@felipematheus6518
@felipematheus6518 Год назад
@@guidocerqueira E obrigado pela resposta, me inscrevi no seu canal! quando tiver razoavel no TS vou fazer o projeto desse video com certeza! abç
@guidocerqueira
@guidocerqueira Год назад
@@felipematheus6518 com certeza. Nesse caso, sendo vc, já partia pro TS!
@felipematheus6518
@felipematheus6518 Год назад
@@guidocerqueira Fala meu amigo! dando feedback que já fiz varios projetos com nodeJS e express com JS, depois fiz um curso de typescript (sem express), e agora vou começar a ver a construção de api rest com node e typescript, com seu vídeo! obrigado pelas dicas.
@gedezegames
@gedezegames Год назад
Tens contato profissional?
@jpcc1223
@jpcc1223 2 года назад
deus ensaboe
@Kimitri
@Kimitri Год назад
Cara fazendo exatamente como você fez no seu código eu estou tendo um erro de eslint no routes.ts dizendo o seguinte "Promise returned in function argument where a void return was expected.eslint@typescript-eslint/no-misused-promises", o erro vem dá função router.post('/createcustomer', new CreateCustomerController().create)
@guidocerqueira
@guidocerqueira Год назад
Como o próprio erro sugere ai, provavelmente alguma restrição do lint. Basta verificar nesse seu controlador o que está ocasionando e caso seja uma forma q vc trabalha, pode adicionar no seu arquivo de configuração do eslint
Далее
Login | Autenticação JWT com Node.js e TypeScript
1:31:03
Criando uma API do ZERO com Node.js e Banco de Dados
1:15:42
Ice Bear would appreciate some cheese 🧀
00:18
Просмотров 12 млн
Добрая весть 😂
00:21
Просмотров 536 тыс.
TUDO que você precisa saber do Next 13 (isso muda tudo)
1:09:51
GraphQL no Node.js do ZERO criando 2 apps completos
44:34
Ice Bear would appreciate some cheese 🧀
00:18
Просмотров 12 млн