我有一些项目正在使用相同的数据库和实体。如何在所有这些项目中重用实体?我不想复制所有
*.entity.ts
文件,然后粘贴到所有项目,我想以某种方式仅重用该实体的一份副本。
这是我的 typeormConfig:
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
};
}
我找到的解决方案是创建一个 npm 包,其中包含我将在不同服务中重用的所有 TypeORM 实体和类,发布它,然后将其添加为每个微服务的 package.json 中的依赖项。
从那里我只需从我需要的包中导入特定实体。