¿Cómo funcionan las migraciones?
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Cuando trabajas en producción, necesitarás sincronizar los cambios de tus modelos con la base de datos.
Normalmente, es inseguro usar synchronize: true para sincronizar esquemas en producción una vez
que tienes datos en tu base de datos. Aquí es donde las migraciones entran en juego.
Una migración es simplemente un archivo con consultas SQL para actualizar un esquema de base de datos y aplicar cambios nuevos a una base de datos existente.
Supongamos que ya tienes una base de datos y una entidad Post:
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm"
@Entity()
export class Post {
@PrimaryGeneratedColumn()
id: number
@Column()
title: string
@Column()
text: string
}
Y tu entidad ha funcionado en producción durante meses sin cambios. Tienes miles de posts en tu base de datos.
Ahora necesitas lanzar una nueva versión y renombrar title a name.
¿Qué harías?
Necesitas crear una nueva migración con la siguiente consulta SQL (dialecto PostgreSQL):
ALTER TABLE "post" RENAME COLUMN "title" TO "name";
Al ejecutar esta consulta SQL, tu esquema de base de datos estará listo para funcionar con tu nuevo código. TypeORM proporciona un lugar donde puedes escribir estas consultas SQL y ejecutarlas cuando sea necesario. Este lugar se llama "migraciones".