乐闻世界logo
搜索文章和话题

TypeORM 如何指定生效的 ormconfig.ts ?

6 个月前提问
5 个月前修改
浏览次数34

1个答案

1

在 TypeORM 中,指定特定的 ormconfig.ts 文件通常是在启动应用程序时通过环境变量或者直接在代码中指定配置对象来实现的。

使用环境变量

你可以通过设置 TYPEORM_CONFIG 环境变量的方式来指定配置文件的路径。例如,在命令行中,你可以在启动应用程序之前设置环境变量:

bash
export TYPEORM_CONFIG=/path/to/your/ormconfig.ts node your-app.js

或者,如果你使用的是 Windows,可以使用 set 命令:

bash
set TYPEORM_CONFIG=/path/to/your/ormconfig.ts node your-app.js

另外,你也可以在 package.json 中的 scripts 部分直接设置环境变量,这样每次运行 npm 脚本时都会使用相应的配置文件。

例如:

json
"scripts": { "start": "TYPEORM_CONFIG=/path/to/your/ormconfig.ts ts-node src/index.ts" }

在代码中指定

你还可以在代码中直接创建和传递配置对象,而不是使用外部的配置文件。例如:

typescript
import { createConnection } from 'typeorm'; import { User } from './entity/User'; createConnection({ type: 'postgres', host: 'localhost', port: 5432, username: 'test', password: 'test', database: 'test', entities: [User], synchronize: true, logging: false }).then(connection => { // 这里可以使用 connection 对象 }).catch(error => console.log(error));

在这种情况下,你直接在代码中提供了数据库连接和其他 ORM 设置,不需要外部的 ormconfig.ts 文件。

使用 CLI

如果你在使用 TypeORM 的 CLI 工具,你可以通过 --config 参数来指定配置文件的位置:

bash
typeorm migration:run --config /path/to/your/ormconfig.ts

总结

通常情况下,TypeORM 会默认查找项目根目录下的 ormconfig.jsonormconfig.jsormconfig.ymlormconfig.xmlormconfig.env 或者 ormconfig.toml 等文件,但是你可以通过上述方法指定一个特定的配置文件或者直接在代码中配置。

请注意,TypeORM 的配置管理可能随着版本更新而有所变化,所以建议查阅最新的官方文档以获取最准确的指南。

2024年6月29日 12:07 回复

你的答案