Por que você precisa de um ORM?
Tenho um projeto em Node.js sem ORM. Tive algumas dificuldades pontuais para tentar criar um código útil que não fosse muito específico, mas acho que fui me encontrando ao longo do desenvolvimento. Me parece que foi uma decisão acertada não usar ORM.
Já usei Sequelize e tive algumas dificuldades (fazem alguns anos, então nem lembro quais foram para mencionar). Já vi o TypeORM sendo muito bem falado, até que chegou o Prisma para pegar o lugar de "ORM modinha do momento". Não experimentei nenhum desses dois então não sei dizer sobre a qualidade deles.
Vendo a documentação Prisma vs TypeORM (que está no site do Prisma, então tenha em mente o enviesamento), em especial na seção Data modeling and migrations, está um ponto que me incomoda sobre alguns ORMs. Veja como o código do ORM se entrelaça ao seu, parecendo ser uma única coisa (que não é JavaScript), te tornando dependente.
Esse meu comentário é uma questão de gosto pessoal, mas eu repito: não vi necessidade de usar ORM no meu projeto.
Como bônus, o TabNews não usa ORM e você pode ler qual foi a opinião do Filipe na hora dessa decisão aqui: Vocês topam sofrer comigo?
Então. Eu nunca entendi essa tara de acessar BD no frontend.
Sempre serei do time FE pede pro BE e BE devolve
Obrigado pelo seu comentário! Mas honestamente, na minha visão, apesar de ser fundamental saber consultas manuais já que em algum momento irá precisar, os ORMs existem para aumentar a produtividade do desenolvedor.
Para que criar toda uma consulta para selecionar algo se eu conseido fazendo, sla: "user.find()". ORms são práticos.
É claro que tudo precisa de contextos para ser ultilziados, mas em produção, tudo o que tu quer é agilidade e praticidade.
Na verdade, o motivo do meu post é justamente tentar entender qual ORM está mais maduro e pronto para projetos médios e grandes, para ter menos riscos.
Estou nessa tambem! Você poderia me passar umas dicas de como está usando sem ORM ?
Po, eu gosto de usar ORM independente de qualquer coisa, claro que é sempre bom saber fazer sem, mas gosto da camada adicional de segurança que adiciona, que não precisa que eu faça um prepared statement e várias outras etapas pra evitar sql injection por exemplo.