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 中。
从那里,我只从我需要的包中导入特定的实体。