如何在NestJS中配置TypeOrm及数据库迁移功能?
NestJS TypeORM 迁移文件生成路径配置步骤
1. 更新 ormconfig.ts,添加 CLI 配置
在现有配置中加入cli字段,并调整迁移文件匹配规则,确保能识别子目录中的迁移文件:import { TypeOrmModuleOptions } from '@nestjs/typeorm'; const ormconfig: TypeOrmModuleOptions = { type: 'postgres', host: process.env.POSTGRES_HOST, port: +process.env.POSTGRES_PORT, username: process.env.POSTGRES_USER, password: process.env.POSTGRES_PASSWORD, database: process.env.POSTGRES_DB, entities: [__dirname + '/../**/*.entity.{js,ts}'], synchronize: false, migrations: [__dirname + '/../database/migrations/**/*.{js,ts}'], // 改为匹配子目录下的所有迁移文件 migrationsRun: true, cli: { migrationsDir: 'database/migrations' // 指定CLI生成迁移文件的根目录 } }; export default ormconfig;2. 配置 package.json 中的脚本命令
在scripts字段中添加迁移创建命令,使用ts-node加载TypeORM CLI(适配TS格式的配置文件):{ "scripts": { // 保留原有脚本... "migration:create": "ts-node ./node_modules/typeorm/cli.js migration:create -d ./ormconfig.ts database/migrations/$1" } }若未安装
ts-node,先执行yarn add -D ts-node完成安装。3. 执行迁移创建命令
运行以下命令即可生成指定子目录的迁移文件:yarn migration:create "NameOfTheMigration"执行后,TypeORM会自动在
database/migrations/下创建NameOfTheMigration目录,并生成格式为timestamp-NameOfTheMigration.ts的迁移文件。
内容的提问来源于stack exchange,提问作者Thomas Dupré
相关产品推荐
相关产品推荐

