错误:在任何ORM配置文件中都找不到连接选项。

9

我想使用TypeORM连接到Oracle数据库

createConnection().then(async connection => {
    const app = express();
    const userRepository = getRepository(User);
    const users = await userRepository.find();
    console.log(users);   
    app.listen(3000);
}).catch(error => console.log("xxx",error));

enter image description here

ormconfig.json 文件位于 ./Myproject/ormconfig.json,但是报错了:Error: No connection options were found in any orm configuration files.

使用这些设置,我已经通过 oracledb 连接到数据库了。

请帮我解决这个问题。

更新

我使用以下命令生成项目:typeorm init --name MyProject --database oracle。这是 typeorm 的默认结构。

5个回答

9

你好,我曾经也遇到了同样的错误一整天,但我必须明确显示配置文件的路径。

这是我当前的 typeorm package.json 脚本命令:

"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js"

我将其更改为:

"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js --config src/config/postgres.config.ts"

请注意,我显式设置了正在使用的配置文件的路径。无论使用哪种扩展名,如 .js.ts.json,都可以这样做。

以下是我的配置文件示例:

// postgres.config.ts

import { TypeOrmModuleOptions } from '@nestjs/typeorm';

export const pgConfig: TypeOrmModuleOptions = {
  type: 'postgres',
  host: process.env.POSTGRES_HOST,
  port: parseInt(<string>process.env.POSTGRES_PORT),
  username: process.env.POSTGRES_USER,
  password: process.env.POSTGRES_PASSWORD,
  database: process.env.POSTGRES_DATABASE,
  entities: ['dist/src/modules/**/entities/*.entity.js'],
  synchronize: true,
  migrations: ['dist/src/db/migrations.js'],
  cli: { migrationsDir: 'src/db/migrations' },
};


希望这能够有所帮助。


2

从您发布的图片来看,您将ormconfig.json文件错放在了./src目录下,其路径可能为your_project/src/ormconfig.json。请将其移动到项目的根目录下(路径:your_project/ormconfig.json),问题就会得到解决!


1
我把ormconfig.json文件移动到了./src目录,但是仍然出现错误。 - ashkufaraz
根目录不是./src!当前文件路径可能为your_project/src/ormconfig.json。您应该将其移动到your_project/ormconfig.json。@ashkufaraz - spike 王建
在图像中,ormconfig.json位于根目录下(MyProject/ormconfig.json)。 - ashkufaraz
1
不是的,它在 ./src 目录下。你必须将它移动到上一级。 - 303

2
您可以尝试使用以下内容。
npx typeorm migration:create -n migrationName

3
这仅适用于创建迁移文件而非实际运行迁移。 - Macdonald

-1

我解决了这个问题

$ npm remove -g typeorm

看起来路径被错误地识别了,因为typeorm是全局安装的。


这真的有帮助吗?因为我已经全局安装了它。 我应该安装它作为npm i --save typeorm吗? - Marko Marchisio
是的。我通过移除全局typeorm来解决了这个问题。 - Sh031224
这就是在长时间搜索后解决问题的方法。 - HonorableTones

-2
我曾经遇到过几次这种情况,发现是一些缓存问题。 以下是几件事情可以做:
选项 1: 删除你的 node_modules/ 文件夹并重新安装。
选项 2: 重启你的编辑器(我用的是 vscode)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接