Prisma é um ORM (Object-Relational Mapping) moderno que facilita a interação com bancos de dados em aplicações Node.js e TypeScript. Uma das funcionalidades mais importantes do Prisma é o sistema de migrações, que permite manter o esquema do banco de dados sincronizado com o modelo de dados da aplicação. Neste post, vamos explorar o fluxo de trabalho do Prisma utilizando migrations.
Migrations são um método para controlar e aplicar alterações no esquema do banco de dados de forma sistemática e versionada. Elas permitem que você defina mudanças estruturais no banco de dados, como criar ou alterar tabelas, de maneira incremental e reversível.
O fluxo de trabalho típico com migrations no Prisma envolve os seguintes passos:
Primeiro, precisamos instalar o Prisma no projeto e inicializá-lo:
npm install @prisma/client npx prisma init
Este comando cria um diretório prisma contendo um arquivo schema.prisma, onde definimos nosso modelo de dados.
No arquivo schema.prisma, definimos os modelos que representam as tabelas do banco de dados. Por exemplo, vamos definir um modelo User:
model User { id Int @id @default(autoincrement()) email String @unique name String? }
Aqui, estamos definindo uma tabela User com colunas id, email e name.
Depois de definir ou alterar o esquema, criamos uma migration para refletir essas mudanças no banco de dados:
npx prisma migrate dev --name init
O comando migrate dev cria uma nova migration e aplica as mudanças ao banco de dados. O parâmetro --name permite dar um nome descritivo à migration, como init no exemplo acima.
As migrations são aplicadas automaticamente ao banco de dados quando usamos o comando migrate dev. Isso garante que o banco de dados esteja sempre em sincronia com o modelo de dados definido no schema.prisma.
Se você quiser aplicar migrations em um ambiente de produção, utilize o comando:
npx prisma migrate deploy
Este comando aplica todas as migrations pendentes no banco de dados de produção.
Prisma mantém um histórico de todas as migrations aplicadas no banco de dados. Isso é útil para rastrear mudanças e reverter migrations, se necessário. Para ver o histórico de migrations, você pode usar:
npx prisma migrate status
Este comando mostra o estado atual das migrations, incluindo quais migrations foram aplicadas e quais estão pendentes.
Vamos ver um exemplo prático de como adicionar um novo campo ao modelo User e criar uma migration para essa mudança.
Adicionar o campo ao modelo User no schema.prisma:
model User { id Int @id @default(autoincrement()) email String @unique name String? birthdate DateTime? }
Criar uma nova migration:
npx prisma migrate dev --name add-birthdate-to-user
Aplicar a migration:
O comando migrate dev já aplica a migration ao banco de dados. Agora, o banco de dados terá o novo campo birthdate na tabela User.
Verificar o estado das migrations:
npx prisma migrate status
Este comando mostrará que a migration add-birthdate-to-user foi aplicada com sucesso.
O fluxo de trabalho do Prisma utilizando migrations é uma maneira eficiente e segura de gerenciar mudanças no esquema do banco de dados. Através de uma sequência clara de passos – definir o esquema, criar migrations, aplicar mudanças e gerenciar o histórico de migrations – é possível manter o banco de dados sincronizado com o modelo de dados da aplicação, facilitando o desenvolvimento e a manutenção do software.
Com Prisma, você não apenas simplifica o gerenciamento do banco de dados, mas também ganha uma poderosa ferramenta para garantir que todas as mudanças sejam rastreáveis e reversíveis, contribuindo para um processo de desenvolvimento mais robusto e ágil.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3