Simulación de Migraciones y Reversiones
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 →
También puedes simular la ejecución de una migración usando el flag --fake (-f como abreviación). Esto registrará la migración
en la tabla de migraciones sin ejecutarla realmente. Es útil cuando:
- Ya realizaste cambios manuales en la base de datos
- Las migraciones se ejecutaron externamente (ej. otra herramienta)
- Quieres mantener un historial de migraciones consistente
typeorm migration:run -d path-to-datasource-config --fake
También aplica para reversiones simuladas.
typeorm migration:revert -d path-to-datasource-config --fake
Modos de Transacción
Por defecto, TypeORM ejecuta todas las migraciones dentro de una única transacción global.
Esto corresponde al flag --transaction all.
Para mayor control, usa:
--transaction each: envuelve cada migración en su propia transacción--transaction none: sin transacciones
Adicionalmente, puedes sobrescribir el comportamiento por migración configurando la propiedad transaction en MigrationInterface como true o false. Esto solo funciona en modos each o none.
import { MigrationInterface, QueryRunner } from "typeorm"
export class AddIndexTIMESTAMP implements MigrationInterface {
transaction = false
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`CREATE INDEX CONCURRENTLY post_names_idx ON post(name)`,
)
}
async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX CONCURRENTLY post_names_idx`)
}
}