Migraciones Manuales en SQLite: Creación y Ejecución
Clase 14 de 27 • Curso de Backend con Node.js: Base de Datos con PostgreSQL
Resumen
¿Cómo configurar migraciones manuales con SQLite?
SQLite es un motor poderoso cuando se trata de manejo de bases de datos locales, aunque exige un enfoque manual para la creación y gestión de migraciones. A diferencia de ORMs populares como Django o Laravel, SQLite no genera automáticamente migraciones basadas en cambios del modelo. Pero no te preocupes, ¡aquí te ayudaremos a entender cómo hacerlo!
¿Cómo crear el boilerplate para las migraciones?
Primero, es esencial entender cómo iniciar una migración en SQLite:
-
Configurar scripts de migración: Define tareas específicas que permitan correr migraciones.
- Crea una nueva tarea llamada
migrations:generate
. - Ejecuta el comando
npm run migrations generate <nombre>
. Este comando genera un nuevo archivo de migración en la carpeta de migraciones.
- Crea una nueva tarea llamada
-
Estructura básica: Al correr el comando anterior, obtendrás un archivo con un identificador de time stamp y un boilerplate listo para definir qué cambios realizar.
¿Cómo implementar migraciones a partir de los modelos?
Para empezar a crear migraciones, se necesita reutilizar la información ya definida en los modelos:
-
Modelo de usuario: Implementar cambios en los modelos de usuario usando
require
para importar los datos necesarios como:- Modelo de usuario
- Esquema
- Nombre de la tabla
-
API de SQLite: Utilizar la API de SQLite para ejecutar comandos como
create table
o incluso realizar un rollback.
¿Cómo ejecutar y revertir migraciones?
Veamos cómo correr estas migraciones de manera efectiva:
-
Correr migraciones:
- Implementa un nuevo comando,
npm run migrations:run
, que ejecutarádb:migrate
. - Esto detectará y correrá todas las migraciones pendientes en la carpeta
migrations
.
- Implementa un nuevo comando,
-
Revertir migraciones:
- Usa
db:migrate:undo
para revertir la última migración realizada. - Considera un comando adicional,
clean
, que eliminará todas las migraciones; úsalo con precaución ya que puede borrar toda la información si estás en un entorno de producción.
- Usa
-
Mantenimiento y control: SQLite crea una tabla
meta
donde almacena el historial de migraciones ejecutadas para evitar duplicaciones.
¿Cómo usar migraciones para modificar estructuras existentes?
Es común necesitar modificar estructuras ya existentes en la base de datos:
- Ejemplo de
after table
: Si necesitas agregar nuevas columnas post-creación de una tabla, se realiza mediante una migración específica.
Con este enfoque metódico y claro, puedes gestionar y mantener control de tus migraciones en SQLite, asegurando un flujo de trabajo ordenado y productivo. ¡Adelante, sigue explorando y dominando el mundo de las migraciones!