生成迁移

当你更改数据库架构时,TypeORM 能够自动生成架构更改的迁移文件。

假设你有一个带有title列的Post实体,并且已将名称title更改为name。则可以运行以下命令:

  1. typeorm migration:generate -n PostRefactoring

它将生成一个名为{TIMESTAMP} -PostRefactoring.ts的新迁移,其中包含以下内容:

  1. import { MigrationInterface, QueryRunner } from "typeorm";
  2. export class PostRefactoringTIMESTAMP implements MigrationInterface {
  3. async up(queryRunner: QueryRunner): Promise<any> {
  4. await queryRunner.query(`ALTER TABLE "post" ALTER COLUMN "title" RENAME TO "name"`);
  5. }
  6. async down(queryRunner: QueryRunner): Promise<any> {
  7. await queryRunner.query(`ALTER TABLE "post" ALTER COLUMN "name" RENAME TO "title"`);
  8. }
  9. }

瞅瞅,你已经不需要自己编写查询了。生成迁移的经验法则是,在对模型进行”每次”更改后生成它们。