Prisma - A forma mais fácil de trabalhar com um banco de dados no Next.js

Find AI Tools
No difficulty
No complicated process
Find ai tools

Prisma - A forma mais fácil de trabalhar com um banco de dados no Next.js

Conteúdo

📋 Tabela de Conteúdos

  • Introdução
  • Configurando o Prisma
  • Criando o banco de dados
  • Consultando dados do banco
  • Inserindo dados no banco
  • Melhorando a experiência do desenvolvedor com tipos gerados
  • Conclusão

Introdução

Neste artigo, vamos explorar como integrar o Prisma em um projeto Next.js para criar um aplicativo de contatos. Veremos como configurar o Prisma, criar o banco de dados, consultar e inserir dados, e como utilizar os tipos gerados pelo Prisma para melhorar a experiência de desenvolvimento.

Configurando o Prisma

Para começar, precisamos instalar as dependências do Prisma. Vamos executar o comando npm install prisma --save-dev para instalar o Prisma CLI como uma dependência de desenvolvimento. Em seguida, executaremos o comando npx prisma init para inicializar o Prisma. Isso irá criar uma nova pasta chamada prisma com um arquivo schema.prisma e um arquivo .env que aponta para a URL do banco de dados.

No nosso caso, vamos utilizar o SQLite como banco de dados. No arquivo .env, vamos alterar a URL para file:dev.db, que criará um banco de dados SQLite na pasta prisma do projeto.

Criando o banco de dados

Agora que o Prisma está configurado, vamos criar uma tabela para modelar os contatos do nosso aplicativo. No arquivo schema.prisma, vamos adicionar o seguinte código:

model Contato {
  id       Int    @id @default(autoincrement())
  nome     String
  sobrenome String
  email    String
  avatar   String
}

Essa tabela terá uma coluna id como chave primária, além das colunas nome, sobrenome, email e avatar. Essas colunas representarão os dados do contato.

Para criar o banco de dados e a tabela, vamos executar o comando npx prisma migrate dev. Isso irá executar as migrações pendentes e criar o banco de dados com a tabela Contato.

Consultando dados do banco

Agora que já temos o banco de dados configurado, podemos consultar os dados do banco usando o Prisma. Dentro da função getServerSideProps, vamos utilizar o Prisma Client para obter a lista de contatos. Podemos fazer isso da seguinte forma:

export async function getServerSideProps() {
  const contatos = await prisma.contato.findMany();

  return {
    props: {
      contatos,
    },
  };
}

Nessa função, estamos usando o método findMany do Prisma Client para obter todos os registros da tabela Contato. Esses registros serão enviados como props para a página, permitindo que sejam renderizados no lado do cliente.

Inserindo dados no banco

Além de consultar dados do banco, também podemos inserir novos registros usando o Prisma. Vamos criar uma função salvarContato que irá receber os dados de um novo contato e salvá-los no banco de dados. Essa função será chamada quando o formulário de adição de contato for submetido. Veja como implementar essa função:

export default async function salvarContato(req, res) {
  const { nome, sobrenome, email, avatar } = req.body;

  const novoContato = await prisma.contato.create({
    data: {
      nome,
      sobrenome,
      email,
      avatar,
    },
  });

  res.json(novoContato);
}

Nessa função, estamos utilizando o método create do Prisma Client para criar um novo registro na tabela Contato. Os dados do novo contato são passados como argumento para esse método. Após salvar o contato no banco, retornamos o novo contato como resposta.

Melhorando a experiência do desenvolvedor com tipos gerados

O Prisma gera tipos TypeScript que podemos utilizar para decorar nosso código e obter mais informações sobre o que podemos fazer com as entidades do banco de dados. Por exemplo, podemos importar o tipo Contato gerado pelo Prisma e utilizá-lo para definir o tipo de uma função ou variável:

import { Contato } from "@prisma/client";

const contatos: Contato[] = await prisma.contato.findMany();

Essa abordagem ajuda a melhorar a experiência do desenvolvedor, fornecendo informações mais precisas sobre os dados do banco de dados e evitando erros de tipo.

Conclusão

Neste artigo, exploramos o uso do Prisma em um projeto Next.js para criar um aplicativo de contatos. Vimos como configurar o Prisma, criar o banco de dados, consultar e inserir dados, e como utilizar os tipos gerados para melhorar a experiência do desenvolvimento. O Prisma é uma excelente ferramenta para trabalhar com bancos de dados em projetos Next.js, fornecendo uma camada de abstração poderosa e fácil de usar. Sinta-se à vontade para explorar mais recursos e funcionalidades do Prisma para otimizar ainda mais seu desenvolvimento.

Destaques

  • O Prisma é uma ferramenta poderosa para trabalhar com bancos de dados em projetos Next.js.
  • Configurar o Prisma no Next.js requer a instalação das dependências do Prisma, inicialização do Prisma e configuração do banco de dados.
  • Utilize o Prisma Client para consultar e inserir dados no banco de dados.
  • Utilize os tipos gerados pelo Prisma para melhorar a experiência do desenvolvedor e evitar erros.

Perguntas Frequentes

P: Posso utilizar o Prisma em outros bancos de dados além do SQLite? R: Sim, o Prisma suporta outros bancos de dados além do SQLite, como PostgreSQL, MySQL e MSSQL.

P: Como faço para configurar o Prisma para usar outro banco de dados? R: No arquivo .env, modifique a URL do banco de dados para apontar para o banco de dados desejado. Consulte a documentação do Prisma para obter mais detalhes sobre as opções de configuração.

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.