Excelente vídeo, é a stack do backend da empresa que trabalho. Me ajudou a tirar muitas duvidas da sintaxe e já repassei :) A Rocketseat sempre trazendo o suprassumo das stacks do mercado!!!!
Percebi um vacilo grande de cara: Vc não precisa criar as migrations na mão. Basta criar os models com as annotations e gerar as migrations que automaticamente o TypeORM na config do Nest é gerada. Sim, tem como gerar as migrations automaticamente a partir dos models. Outro vacilo: existe um orm.config.json que é destinado para a configuração do db do TypeORM (é a forma recomendada). Aí bastaria chamar createConnection() no main para startar o banco. Até onde vi foram esses os pontos de vacilo. No mais, parece ser um baita vídeo. Dêem like para a galera ver, please.
Boa noite amigo, segundo q documentação do typeorm não é recomendado utilizar a automatização das migrations (eu esqueci o nome do método) Segundo o que a própria documentação recomenda, pois pode gerar alguns erros de compatibilidades ou algo do tipo
Exatamente! Eu uso um ormconfig.ts, assim com dotenv eu leio as variáveis a partir de um arquivo .env ou das variáveis ambiente em produção. Assim a cada deploy eu executo as migrations.
Fiz um projeto para um cliente e nunca tinha criado o backend para minhas aplicações, NESTJS + Typeorm foram fantásticos pra meu sistema. JWT, mutter etc. Mt massa
Resolvendo o problema que voce passou em 23:00 : O arquivo de configuração do orm deve se chamar ormconfig.json, com a mesma estrutura que voce usou no seu arquivo de config. type, database, migrations, entities. Voce so esqueceu do "cli", e ele que aponta para onde o cli vai criar a pasta, entao voce coloca no arquivo ormconfig.json o seguinte: "cli": { "migrationsDir": "pasta/pasta", "entitiesDir": "pasta/pasta" } O arquivo ormconfig.json deve estar na dir, no seu caso dentro da pasta back-end
Irmão Assisti. Muito bom falar dessas stacks. E a falta de vídeos sobre geolocation e maps. Tipo envolvendo db e vídeos. Essa aula tenho muita.vonyade de comprar.se.nao for conteúdo gratuito. Parabéns pela destreza.
oi ainda não assisti o vídeo por completo mas eu queria tirar uma duvida. Como é a preparação de vocês para aprender um novo Framework , vocês estudam e já praticam aos mesmo tempo, mais ou menos quanto tempo levam para aprender e ter a confiança suficiente para aplicar em algum trabalho.
Achei vacilo não ter deixado o link do site que vc se baseou na descrição do video, codersera.com/blog/nestjs-typeorm-graphql-dataloader-tutorial-with-typescript/
Calma Gabriel, amigão não sei se percebeu, mais o Guilherme esta meio mal de saúde as altas horas da noite, e codando mais de 3 horas em video, kkkkk, acho que somente contribuir colocando o link e ajudando, como fez, já bastava ... agora chamar de vacilo é meio forçado kkk, Obrigado pela contribuição .... Abraços Browww
Muito bom! E se eu quiser implementar um backend em nest.js na arquitetura de microserviços (que é suportada nativamente pelo nest), essa arquitetura é dividida em dois projetos nest (client e microservice). Então onde é o melhor lugar para dar deploy em cada um desses dois projetos? E como seria a comunicação entre eles em produção, com TCP?
Muito bom o video , uma dúvida no caso do GraphQL, teria a possibilidade do response ser customizado por exemplo? tendo em vista que que se tiver um erro interno o próprio GraphQL já retorna um json com uma série de informações.
Faala, Paulo! 💜 Você conhece a nossa comunidade aberta? Por lá você pode tirar essas e outras dúvidas que tiver 💜 Segue o link: www.rocketseat.com.br/comunidade
Os .inputs seriam tipo 'models' que vem do front? e os resolver seria tipo uma service? onde teria os métodos de CRUD com regras por exemplo? teria como fazer esses tipos de analogias?( pra quem ainda não é muito familiar se achar hehe )
As migrações também precisam ter o caminho configurado dentro de um objeto chamado cli, também nas configurações do banco, na documentação do typeorm é explicado. Caso tenha problemas, você pode criar outro arquivo de configuração na raiz do projeto com as mesmas credenciais, só não esquecer de colocar no .gitignore antes de versionar.
Conheci o NestJS a pouco mais de um ano, depois disso não consegui parar de usa-lo :D Fora isso seria melhor usar o sistema de modules do NestJS, acho que se encaixa mais no design do framework
@@rodz Achei bem bacana o vídeo, primeiramente meus parabéns, tua evolução foi tremenda, meus parabéns msm, e faz tempo que não uso o Ubuntu achei que era Mac pela doca ser diferente kk
Para resolver o problema de criar as migrations no caminho correto, basta adicionar o trecho de código abaixo, no objeto options do arquivo orm.ts cli: { migrationsDir: 'src/db/migrations', },
Aqui não funcionou, acabei usando um arquivo de config em JSON mesmo e apontando o typeorm pra ele com a flag --config. Por alguma razão o arquivo de config em TS não funciona :|
Alguém sabe pq dá esse erro hora que eu tento rodar: Error: Nest can't resolve dependencies of the UserResolver (?). Please make sure that the argument RepoService at index [0] is available in the UserResolver context. Potential solutions: - If RepoService is a provider, is it part of the current UserResolver? - If RepoService is exported from a separate @Module, is that module imported within UserResolver? @Module({ imports: [ /* the Module containing RepoService */ ] })
Depois de muito quebrar a cabeça e vários code reviews, descobri o problema e ai vai para futuras pessoas que porventura venham a enfretar o mesmo problema que eu: O decorator @Global() no RepoModule que eu não tinha colocado. :)
Em resumo, é uma validação, caso o data estiver presente ele vai rodar o map, caso contrário, não irá rodar, é tipo um ternário mais simplificado para propiedades de objetos.
Solução: github.com/apollographql/apollo-link/issues/910#issuecomment-608272053 node_modules/apollo-link/lib/types.d.ts:23:56 - error TS2315: Type 'ExecutionResult' is not generic. 23 }, C = Record, E = Record> = ExecutionResult & { ~~~~~~~~~~~~~~~~~~~~~~ Found 1 error(s).
Triste é ter que usar decorators, pra quem vem do javascript funcional, sem uso de typescript, é bem chato... Parece que ta usando spring boot do java (cruzes)
desta forma consigo criar o migration baseado nos decorators da entidade: npm i -g @nestjs/cli npm i -D dotenv @types/dotenv npm i @nestjs/typeorm typeorm pg
Excelente vídeo, é a stack do backend da empresa que trabalho. Me ajudou a tirar muitas duvidas da sintaxe e já repassei :)
A Rocketseat sempre trazendo o suprassumo das stacks do mercado!!!!
Percebi um vacilo grande de cara:
Vc não precisa criar as migrations na mão. Basta criar os models com as annotations e gerar as migrations que automaticamente o TypeORM na config do Nest é gerada. Sim, tem como gerar as migrations automaticamente a partir dos models.
Outro vacilo: existe um orm.config.json que é destinado para a configuração do db do TypeORM (é a forma recomendada). Aí bastaria chamar createConnection() no main para startar o banco.
Até onde vi foram esses os pontos de vacilo. No mais, parece ser um baita vídeo.
Dêem like para a galera ver, please.
Boa noite amigo, segundo q documentação do typeorm não é recomendado utilizar a automatização das migrations (eu esqueci o nome do método)
Segundo o que a própria documentação recomenda, pois pode gerar alguns erros de compatibilidades ou algo do tipo
Exatamente! Eu uso um ormconfig.ts, assim com dotenv eu leio as variáveis a partir de um arquivo .env ou das variáveis ambiente em produção. Assim a cada deploy eu executo as migrations.
Não falo que é exatamente vacilo. Mas há maneiras: syncronize e migration. O typeorm permite. O nestjs sugere o syncronize.
tem configurar la no Package.json o comando em script que o CLI vai executar...por exemplo: npm migration:generate
"um gatinho na tela e n sou eu" , humilde, kkkkkkkkkkkkkkkk, cara bom!!!!
Finalmente notaram meu framework favorito!
Tem usado para estudos e projetos pessoais e é incrível nestjs, muito bom e casa perfeitamente com typeorm
Cara já usei o NestJS em alguns projetos pessoais, ele integra perfeitamente com TypeORM, são ferramentas fantásticas, é simplesmente incrível.
Iniciei um projeto com o Nest.js no final de 2018, melhor decisão sem dúvidas.
Fiz um projeto para um cliente e nunca tinha criado o backend para minhas aplicações, NESTJS + Typeorm foram fantásticos pra meu sistema. JWT, mutter etc. Mt massa
Que aulão!! Parabéns, aprendi muita coisa aqui :)
Que massa Iury!! Valeeu pelo elogio! 💜💜
Resolvendo o problema que voce passou em 23:00 :
O arquivo de configuração do orm deve se chamar ormconfig.json, com a mesma estrutura que voce usou no seu arquivo de config.
type, database, migrations, entities. Voce so esqueceu do "cli", e ele que aponta para onde o cli vai criar a pasta, entao voce coloca no arquivo ormconfig.json o seguinte: "cli": { "migrationsDir": "pasta/pasta", "entitiesDir": "pasta/pasta" }
O arquivo ormconfig.json deve estar na dir, no seu caso dentro da pasta back-end
Nest é delicinha. Uso ele desde 2018 e só vem melhorando
Irmão
Assisti. Muito bom falar dessas stacks.
E a falta de vídeos sobre geolocation e maps. Tipo envolvendo db e vídeos. Essa aula tenho muita.vonyade de comprar.se.nao for conteúdo gratuito. Parabéns pela destreza.
Léo, já teve semana omnistack com geolocation e maps.. também tem video de react native "recriando interface uber" feito pela rocketseat..
It was awesome! Thank you!
para rolar a criação da migration no local correto, tem que passar o caminho das migrations no atributo cli dentro do orm config
Vaaleu pela dica, Alan 💜
Yeesss
oi ainda não assisti o vídeo por completo mas eu queria tirar uma duvida.
Como é a preparação de vocês para aprender um novo Framework , vocês estudam e já praticam aos mesmo tempo, mais ou menos quanto tempo levam para aprender e ter a confiança suficiente para aplicar em algum trabalho.
@@rodz vlw cara ajudou pra caramba , já sei pelo menos como começar .
Obrigado!
Vai pro java com springboot e com angular e seja feliz ou não kkkkk
Achei vacilo não ter deixado o link do site que vc se baseou na descrição do video, codersera.com/blog/nestjs-typeorm-graphql-dataloader-tutorial-with-typescript/
Vaaleu, Gabriel! 💜 Você tem razão, devemos sempre colocar a fonte! 💜
Calma Gabriel, amigão não sei se percebeu, mais o Guilherme esta meio mal de saúde as altas horas da noite, e codando mais de 3 horas em video, kkkkk, acho que somente contribuir colocando o link e ajudando, como fez, já bastava ... agora chamar de vacilo é meio forçado kkk, Obrigado pela contribuição .... Abraços Browww
Qual o teclado que você usa? =)
Ótimo vídeo!
Top man, eu tinha citado aqui para vcs sobre eles e vcs trouxeram
Iradooo !! 🚀
Já uso e adoro
Muito bom! E se eu quiser implementar um backend em nest.js na arquitetura de microserviços (que é suportada nativamente pelo nest), essa arquitetura é dividida em dois projetos nest (client e microservice). Então onde é o melhor lugar para dar deploy em cada um desses dois projetos? E como seria a comunicação entre eles em produção, com TCP?
Parabéns pelo post. Bem explicado. Me mata minha curiosidade, por favor. Voce está usando Linux, certo ? Se sim, qual a distribuição ? Valeu...
Valeu, muito obrigado.
Muito bom o video , uma dúvida no caso do GraphQL, teria a possibilidade do response ser customizado por exemplo? tendo em vista que que se tiver um erro interno o próprio GraphQL já retorna um json com uma série de informações.
Faala, Paulo! 💜 Você conhece a nossa comunidade aberta? Por lá você pode tirar essas e outras dúvidas que tiver 💜 Segue o link: www.rocketseat.com.br/comunidade
Os .inputs seriam tipo 'models' que vem do front?
e os resolver seria tipo uma service? onde teria os métodos de CRUD com regras por exemplo?
teria como fazer esses tipos de analogias?( pra quem ainda não é muito familiar se achar hehe )
Repositório não tá lá... arruma o link? Essa stack é foda!
what os are you currently using?
Rodz ansiedade nivel hadcore! haha! 1milhão de clicks por segundo kkkkkkkkkkkkkkk
As migrações também precisam ter o caminho configurado dentro de um objeto chamado cli, também nas configurações do banco, na documentação do typeorm é explicado. Caso tenha problemas, você pode criar outro arquivo de configuração na raiz do projeto com as mesmas credenciais, só não esquecer de colocar no .gitignore antes de versionar.
Meus parabéns mesmo sem ter assistido as 3hrs ainda kkkkk
Isso parece muito com meus trabalhos na escola, CRTL+C e CRTL+V.
o Rodz é mt brabo
O que vocês acham de desbloqueio com impressão digital para react native?
da hora o video
Valeeeu Caio!! 💜
Gostaria de sugerir uma aula aprofundada na questao de mobile first, como salvar no banco local, e sincronizar apos a conexao ser restabelecida.
wow
como resolveu o problema do arquivo de configuraçao ?
Conheci o NestJS a pouco mais de um ano, depois disso não consegui parar de usa-lo :D
Fora isso seria melhor usar o sistema de modules do NestJS, acho que se encaixa mais no design do framework
Mesma situação, hehe
Gosto muito desse formato de vídeo. Mostra o feitiço sendo feito e não a mágica.
Cara muito show o conteúdo, mas ele é muito avançado, eu que sou intermediário tive um pouco de dificuldade
Para quem quer que apareça os icones do NestJS ao invés de Angular:
"material-icon-theme.files.associations": {
"*.controller.ts": "nest-controller",
"*.module.ts": "nest-module",
"*.service.ts": "nest-service",
"*.middleware.ts": "nest-middleware",
"*.filter.ts": "nest-filter",
"*.pipe.ts": "nest-pipe",
"*.gateway.ts": "nest-gateway",
"*.decorator.ts": "nest-decorator",
"*.resolver.ts": "nest-resolver",
"*.input.ts": "nest-input",
"*.guard.ts": "nest-guard",
}
show meu querido
finalmente man kkkkkk ceta dddddd ai sim ein
curioso que no meu as subscriptions funcionaram bem.
💜💜💜
como faz para deixar essas setinhas bonitas, nas arrows functions?
Não sei se já descobriu, mas é a fonte... Se chama Fira Code. github.com/tonsky/FiraCode
@@marcosrossetto7304 muito obrigado marcos!
Nice!
Ué, tá melhor que a semana omnistack? kkkkkk
Qual sistema operacional você usa?
Ele usa Ubuntu, so não sei dizer qual versão, provavelmente a 18.04 pelo layout
@@rodz Achei bem bacana o vídeo, primeiramente meus parabéns, tua evolução foi tremenda, meus parabéns msm, e faz tempo que não uso o Ubuntu achei que era Mac pela doca ser diferente kk
O que você pensam sobre vincular imei de aparelho para Android e ios como forma de limitar cadastros por aparelhos.em aplicativos
Para resolver o problema de criar as migrations no caminho correto, basta adicionar o trecho de código abaixo, no objeto options do arquivo orm.ts
cli: {
migrationsDir: 'src/db/migrations',
},
Fala Isaías! Valeeu por compartilhar a solução! 💜
Aqui não funcionou, acabei usando um arquivo de config em JSON mesmo e apontando o typeorm pra ele com a flag --config.
Por alguma razão o arquivo de config em TS não funciona :|
nunca vi mexer nas migrations dessa forma
Poderia disponibilizar esse .bashrc?
Nunca usei nestjs, mais typeorm com typegraphql brilha
Alguém sabe pq dá esse erro hora que eu tento rodar:
Error: Nest can't resolve dependencies of the UserResolver (?). Please make sure that the argument RepoService at index [0] is available in the UserResolver context.
Potential solutions:
- If RepoService is a provider, is it part of the current UserResolver?
- If RepoService is exported from a separate @Module, is that module imported within UserResolver?
@Module({
imports: [ /* the Module containing RepoService */ ]
})
Faaaaala, Vinicius!
Bora lá pra nossa comunidade no Discord que o pessoal é incrível e tenho certeza que vai te ajudar! 💜
@@rocketseat Tem como me passar o link? :)
O comunidade.rocketseat.com.br está dando invite inválido... :/
Depois de muito quebrar a cabeça e vários code reviews, descobri o problema e ai vai para futuras pessoas que porventura venham a enfretar o mesmo problema que eu:
O decorator @Global() no RepoModule que eu não tinha colocado. :)
Esse tema Dracula está um pouco diferente, qual é?
alguém poderia me esclarecer o seguinte código:
...
{data?.
...
qual o significado de "?."
A interrogação basicamente diz que o parametro é opcional.
Em resumo, é uma validação, caso o data estiver presente ele vai rodar o map, caso contrário, não irá rodar, é tipo um ternário mais simplificado para propiedades de objetos.
Não conheço essa Stack
Nest x Adonis?
I can't under stand your language ,but It is Awesome.
Esses ORMs parecem a 8 maravilha do mundo, até que sua aplicação fique complexa. Pra query’s complexas vira um inferno.
Todos os ORM's oferecem a possibilidade de vc dar raw em querys sql.
É pra isso que serve o Knex haha
To sonhando?
Solução: github.com/apollographql/apollo-link/issues/910#issuecomment-608272053
node_modules/apollo-link/lib/types.d.ts:23:56 - error TS2315: Type 'ExecutionResult' is not generic.
23 }, C = Record, E = Record> = ExecutionResult & {
~~~~~~~~~~~~~~~~~~~~~~
Found 1 error(s).
Mano, faz um vídeo do React Native for Windows, pfv
30:00
English please
Rapaz, 3h de video...
pelo menos ele fala menos que o diego kkkkkk
Hahahaha 💜
Nestjs >>> Expres
😄😄
Triste é ter que usar decorators, pra quem vem do javascript funcional, sem uso de typescript, é bem chato...
Parece que ta usando spring boot do java (cruzes)
o melhor do javascript é o typescript e a molecada achando ruim
Nada pow há quem goste bastante de decorators.
desta forma consigo criar o migration baseado nos decorators da entidade:
npm i -g @nestjs/cli
npm i -D dotenv @types/dotenv
npm i @nestjs/typeorm typeorm pg
Valeeeu pela dica, Lindemberg! 💜