网站搜索

sql - 如何在多个项目中重用实体?


我有几个项目使用相同的数据库和实体。如何在所有这些项目中重用实体?我不想复制所有 *.entity.ts 文件然后粘贴到所有项目中,我只想以某种方式重用这些实体的唯一一份副本。

这是我的 typeorm 配置:

    async createTypeOrmOptions(): Promise<TypeOrmModuleOptions> {
        return {
            type: 'postgres',
            url: this.dbURL(),
            entities: [join(__dirname, 'entities/*.entity.{js,ts}')],
            migrations: [join(__dirname, 'migrations/*.{js,ts}')],
            subscribers: [],
            migrationsTransactionMode: 'each',
            migrationsRun: true,
            synchronize: true,
            keepConnectionAlive: true
        };
    }

答案#1

我找到的解决方案是创建一个包含所有 TypeORM 实体和类的 npm 包,这些实体和类我将在不同的服务中重复使用,然后发布它,再将其作为依赖项添加到每个微服务的 package.json 中。

从那里,我只从我需要的包中导入特定的实体。