Configuración
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