Ir para o conteúdo principal

Verificar a viabilidade da utilização do Prisma como ORM em projetos Node.js


Data de elaboração 19/04/22
Responsável pelo estudo
  1. Igor Ramos de Oliveira (Assessor)
Equipe do estudo Esquadrão Suicida
Alvo e-Estado / Prisma
Origem

 

  • Objetivo estratégico: Verificar a necessidade de utilizar a tecnologia prisma como ORM em projetos do e-Estado.
Objetivo Definir se o Prisma é uma boa alternativa para utilização em projetos Node.js
Documentação correlata (opcional)


Observações Não possui.

1. Introdução

O propósito de um ORM é facilitar a integração com o banco de dados durante o desenvolvimento. O Prisma é um ORM feito para ser utilizado com Javascript e Typescript que tem como objetivo prover essas facilidades para a linguagem citada.

2. Desenvolvimento

O Prisma, atualmente, é o ORM mais completo para projetos desenvolvimentos em Javascript e que precisam se comunicar com o banco de dados. Sua utilização é de fácil compreensão e possui uma baixa curva de aprendizado.

Em relação a outros ORMs, o Prisma possui algumas diferenças, são elas:

  • Possui uma sintaxe própria para a definição dos schemas
  • Possui uma ferramenta para geração automática dos schemas
  • Possui uma ferramenta própria para disponibilizar uma interface gráfica de visualização e edição dos dados
  • Capaz de gerar as migrations de forma automática com base nas modificações ocorridas no schema

2.1 Instalação

image.png

2.2 Utilização

Para começar a utilização é necessário definir o schema, que é o local onde contém o mapeamento para as tabelas do banco de dados, conforme imagem abaixo:

image.png

A partir disso basta rodar o comando abaixo para que o modelo seja criado/alterado no banco:

image.png

Com o schema configurado, basta importar a o client do Prisma e utilizar da seguinte forma:

image.png


2.3 Instropection (Instropecção)

Caso uma base de dados já exista previamente, o Prisma fornece uma ferramenta de instropection que é capaz de gerar o schema de forma automática da base de dados informada, sem necessidade da intervenção manual no arquivo de schema.

Para isso, basta executar os comandos abaixo sempre que houver uma alteração no banco de dados: 

image.png

Após isso o schema e o client do Prisma serão atualizados

2.4 Vantagens

  • Fácil instalação
  • Fácil utilização
  • Pouca ou nenhuma intervenção manual para geração do schema
  • O client possui uma consulta flexível permitindo uma possível filtragem de forma dinâmica dos dados
  • A documentação é simples e completa

2.5 Desvantagens

Não foi identificado nenhuma desvantagem em relação a outros ORMs para Javascript/Typescript.

3. Conclusão

A partir do desenvolvimento, dos exemplos, das vantagens e desvantagens, é possível definir que o Prisma é uma biblioteca que ira trazer grandes benefícios quanto a velocidade de desenvolvimento e manutenção dos códigos. O que a torna totalmente viável visto as vantagens que a mesma irá trazer.