我有多个服务,它们使用相同的数据库 因此,我必须跨服务复制我的实体
如何重用 TypeORM 实体?
我现在正处于非常相似的情况。到目前为止,我的方法是生成一个 GitHub 子目录
dataSource
,我的迁移和模型位于“Service1”中,然后克隆这个新子目录并将其链接到新的“Service2”中。
此链接对此非常有用:https://ffimnsr.medium.com/make-sub-folder-a-git-submodule-7e4290d41ff6
现在两个服务都可以读取/写入同一数据库。从任一服务对
dataSource
内的文件进行的任何更改都将驻留在子目录中,并且必须直接在子目录中提交,因此请记住这一点。
仍在寻找我能找到的其他替代方案。
对我来说效果很好的另一个替代方案是将最初包含实体的存储库/服务/项目发布为 npm 包,然后直接从 npm 包使用这些实体(甚至迁移)。
对于 TypeORM 数据源/连接配置,我只是像这样提取了相应的实体和迁移:
entities: ['node_modules/@my-npm-package/dist/models/**/**.entity.js']
migrations: ['node_modules/@my-npm-package/dist/migration/**.js'],