首页 文章

如果未在配置文件中设置实体目录,则TypeORM无法找到实体

提问于
浏览
2

我正在使用带有以下配置文件的TypeORM:ormconfig.json

{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "my-secret-pw",
"database": "mytestdb",
}

我的实体文件存储在./src/bar/entity目录中 . 我总是得到以下错误:

RepositoryNotFoundError:找不到“myTable”的存储库 . 看起来这个实体没有在当前的“默认”连接中注册?

当我手动将目录添加到配置文件时找到实体:

{
...
"entities": ["src/bar/entity/**/*.ts"]
}

我的实体定义如下:

@Entity('myTable')
export default class MyTable {
    @PrimaryGeneratedColumn()
    public id: number;
    ...

如何在不在每个目录的配置文件中手动设置的情况下允许TypeORM查找这些实体?

1 回答

  • 3

    您描述的最常见的情况是具有单独的 entities 目录,该目录仅包含实体声明 .

    {
    ...
    "entities": ["src/bar/entities/**/*.ts"]
    }
    

    另一种方法是分别导入每个实体:

    import {User} from "./payment/entity/User";
    import {Post} from "./blog/entity/Post";
    
    {
    ...
    "entities": [User, Post]
    }
    

相关问题