Saltar al contenido principal

GUI-DGT-001A Guía para Hacer Migraciones con Prisma

v 3.0

Propósito

Esta guía pretende ahondar en el proceso a seguir para hacer migraciones con prisma.

Notas introductorias

Este documento es una extensión de la guía de desarrollo para LinkBridge. Se abordan comandos específicos para la configuración de software, facilitando así la integración y colaboración efectiva dentro del equipo de desarrollo.

Contenido

Contexto

Las migraciones son una herramienta proporcionada por prisma que ayuda a actualizar una base de datos sin perder información, haciendo trivial cambiar el schema de una base de datos en producción.

Configuración Inicial

Asegúrate de que tu archivo schema.prisma está actualizado y refleja el modelo de datos que deseas utilizar. Este archivo define la estructura de tu base de datos y es crucial para la generación de migraciones correctas.

Ubicación común del archivo: prisma/schema.prisma

Instalación de Prisma CLI

Verifica que tienes Prisma CLI instalado globalmente o como parte de tu proyecto. Ya que tienes el paquete prisma en tus dependencias de desarrollo, puedes usarlo directamente.

pnpm exec prisma --version

Crear una Migración

Panorama general

Una migración se debe de realizar cuando necesites hacer cambios en el esquema de datos, como añadir una nueva columna, cambiar el tipo de dato o borrar tablas. Este diagrama explica a grandes rasgos el proceso de migraciones:

Estados de migración

Ejecución

Estos cambios los debes realizar directamente sobre el archivo schema.prisma. Una vez que estes satisfecho con los cambios que quieres agregar debes correr el siguiente comando:

pnpm prisma:migrate
Peligro

Agregar una columna sin un valor default o que no sea opcional causará que toda la base de datos se borre. Evita esto a toda costa

Este comando interactivo te guiará para nombrar tu migración y aplicará los cambios en tu base de datos de desarrollo local.

Aplicar Migraciones en Producción

Una vez que has terminado el desarrollo y estás listo para ir a producción, deberás desplegar tus migraciones en un entorno de producción, utilizando:

pnpm prisma:migrate:deploy

Este comando aplica todas las migraciones pendientes en la base de datos de producción de manera segura. Esto se debe de realizar una vez que tu funcionalidad se haya mergeado a develop.

Resolución de problemas de migraciones

Verificar el Estado de las Migraciones

Para verificar si todas las migraciones se han aplicado correctamente o detectar posibles problemas, usa:

pnpm prisma:migrate:status

Status

Este comando proporciona un informe del estado de las migraciones en tu base de datos conectada.

Prisma migrate resolve

En caso de obtener algún error, ejecuta el comando.

pnpm prisma migrate resolve

Resolve

Ejecuta el comando según tu necesidad.

pnpm prisma migrate resolve --applied nombre_de_la_migracion

Esta opción se utiliza cuando deseas marcar una migración como aplicada en tu historial local de migraciones sin realizar ningún cambio adicional en tu base de datos.

pnpm prisma migrate resolve --rolled-back nombre_de_la_migracion

Esta opción se utiliza cuando deseas marcar una migración como revertida o deshecha en tu historial local de migraciones y revertir los cambios realizados por esa migración en tu base de datos.

Applied

Control de cambios

VersiónCambio realizadoAnálisisAutorRevisor(es)Fecha de cambio
v 1.0Creación de la guíaN/AFrida BailleresOlimpia Garcia15/04/2024
v 2.0Ajuste de formatoSe modificó el contenido de la guía de acuerdo a la plantilla porque el documento tenía información no requeridasYuna ChungRicardo Fernández24/04/2024
v 3.0Se agregó paso 7Se agregó el paso para corrección de errores en migraciones de prismaArturo DíazIan Padrón24/04/2024
v 4.0Reestructuración de la guíaSe cambió la guía para una mejor comprensión de las migracionesRicardo Fernández02/05/2024