Saltar al contenido principal

Configuración

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Antes de trabajar con migraciones, debes configurar correctamente las opciones de tu DataSource:

export default new DataSource({
// basic setup
synchronize: false,
migrations: [__dirname + "/migrations/**/*{.js,.ts}"],

// optional
migrationsRun: false,
migrationsTableName: "migrations",
migrationsTransactionMode: "all",

// other options...
})

synchronise

Desactivar la sincronización automática de esquemas es esencial para usar migraciones. De lo contrario, no tendrían sentido.

migrations

Define la lista de migraciones que TypeORM debe cargar. Acepta tanto clases de migración como directorios desde los cuales cargarlas.

La forma más sencilla es especificar el directorio donde están tus archivos de migración (se admiten patrones glob):

migrations: [__dirname + "/migrations/**/*{.js,.ts}"]

Definir ambas extensiones .js y .ts te permitirá ejecutar migraciones en desarrollo y desde código compilado a JavaScript en producción (ej. desde una imagen de Docker).

Alternativamente, también podrías especificar clases exactas para tener un control más detallado:

import FirstMigration from "./migrations/TIMESTAMP-first-migration"
import SecondMigration from "./migrations/TIMESTAMP-second-migration"

export default new DataSource({
migrations: [FirstMigration, SecondMigration],
})

pero esto requiere más trabajo manual y puede generar errores.

  • migrationsRun - Indica si las migraciones deben ejecutarse automáticamente en cada inicio de la aplicación.

Configuraciones opcionales

migrationsRun

Indica si las migraciones deben ejecutarse automáticamente en cada inicio de la aplicación. Valor predeterminado: false

migrationsTableName

Puedes especificar el nombre de la tabla que almacenará información sobre migraciones ejecutadas. Por defecto se llama 'migrations'.

migrationsTableName: "some_custom_migrations_table"

migrationsTransactionMode

Controla el modo de transacción al ejecutar migraciones. Las opciones posibles son:

  • all (predeterminado) - envuelve todas las migraciones en una única transacción

  • none

  • each