2026-03-04 15:15:19 +01:00
2026-02-23 11:07:02 +01:00
2026-02-23 10:13:46 +01:00
2026-02-18 14:58:21 +01:00
2026-03-04 15:11:55 +01:00
2026-03-04 15:15:19 +01:00
2026-02-20 15:09:53 +01:00
2026-02-23 11:07:02 +01:00
2026-02-18 14:58:21 +01:00

db-migration

Herramienta de CLI orientada a aplicar migraciones de la base de datos, específicamente para PostgreSQL

Instalación

De momento solo esta disponible para descargar desde el repositorio:

# npm
npm install "https://git.savefamilygps.net/alvarsanmartin/herramienta-migracion.git"

# yarn
yarn add "db-migrate@https://git.savefamilygps.net/alvarsanmartin/herramienta-migracion.git"

Para desarrollo local se puede linkar como paquete global o instalar como paquete local.

# global
npm run link
yarn link

#local
npm install /path
yarn add /path

Estructura de migraciones

Para que la herramienta funcione se debe usar un directorio de migraciones que contenga archivos de migraciones con la siguiente estructura:

migrations/
├ 1.0.0_create-tables.sql
├ 1.2.0_date-columns.sql
└ 1.2.5_date-format-fix.sql

Las migraciones se van a lanzar secuencialmente dentro de una transacción por lo que si alguna fallase, el resto no se aplicarían. No se deben definir transacciones dentro de las migraciones

Tabla de versiones

La versión de la última migración aplicada se almacena en la bases de datos en una tabla llamada db_versions (a no ser que se especifique otro nombre), junto a la fecha en la que se ha aplicado la versión. Por defecto se usará la ultima versión registrada, pero se puede sobrescribir desde los parámetros si se hubiesen hecho cambios manuales.

Parámetros

Toda la información también se encuentra usando el parámetro --help

      --help          Show help                                        [boolean]
      --version       Show version number                              [boolean]
  -t, --target        Versión objetivo de la migracion                  [string]
  -e, --env           Path del archivo .env con los datos de la BDD     [string]
  -m, --migrations    Path del directorio de migrations                 [string]
  -v, --versionTable  Nombre de la tabla donde se almacenan las versiones de la
                      BDD, por defecto 'db_versions'
                                               [string] [default: "db_versions"]
  -b, --baseVersion   Versión a partir de la cual se aplican las migraciones
                      independientemente de la almacenada en BDD        [string]

Variables de entrono

Para establecer la conexión con postgres se leen las siguientes variables de entorno por defecto deberían ser PG_DATABASE, PG_HOST... pero por compatibilidad con el proyecto anterior las mantengo así. En el futuro igual migro a las nativas.

POSTGRES_DATABASE=
POSTGRES_HOST=
POSTGRES_PORT=
POSTGRES_USER=
POSTGRES_PASSWORD=
Description
No description provided
Readme 168 KiB
Languages
JavaScript 100%