生成迁移
当你更改数据库架构时,TypeORM 能够自动生成架构更改的迁移文件。
假设你有一个带有title
列的Post
实体,并且已将名称title
更改为name
。则可以运行以下命令:
typeorm migration:generate -n PostRefactoring
它将生成一个名为{TIMESTAMP} -PostRefactoring.ts
的新迁移,其中包含以下内容:
import { MigrationInterface, QueryRunner } from "typeorm";
export class PostRefactoringTIMESTAMP implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "post" ALTER COLUMN "title" RENAME TO "name"`);
}
async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "post" ALTER COLUMN "name" RENAME TO "title"`);
}
}
瞅瞅,你已经不需要自己编写查询了。生成迁移的经验法则是,在对模型进行”每次”更改后生成它们。