Creación manual
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Puedes crear una nueva migración usando la CLI especificando el nombre y ubicación de la migración:
npx typeorm migration:create <path/to/migrations>/<migration-name>
Por ejemplo:
npx typeorm migration:create src/db/migrations/post-refactoring
Después de ejecutar el comando, verás un nuevo archivo generado en el directorio src/db/migrations llamado {TIMESTAMP}-post-refactoring.ts, donde {TIMESTAMP} es la marca de tiempo actual cuando se generó la migración.
Ahora puedes abrir el archivo y agregar tus consultas SQL de migración allí. Deberías ver el siguiente contenido dentro de tu migración:
import { MigrationInterface, QueryRunner } from "typeorm"
export class PostRefactoringTIMESTAMP implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<void> {}
async down(queryRunner: QueryRunner): Promise<void> {}
}
Hay dos métodos que debes completar con tu código de migración: up y down.
up debe contener el código para ejecutar la migración.
down debe revertir cualquier cambio hecho en up.
El método down se usa para revertir la última migración.
Dentro de ambos métodos up y down tienes un objeto QueryRunner.
Todas las operaciones de base de datos se ejecutan usando este objeto.
Aprende más sobre el query runner.
Veamos cómo se vería la migración con nuestros cambios en Post:
import { MigrationInterface, QueryRunner } from "typeorm"
export class PostRefactoringTIMESTAMP implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "post" RENAME COLUMN "title" TO "name"`,
)
}
async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "post" RENAME COLUMN "name" TO "title"`,
) // reverts things made in "up" method
}
}