Typeorm - 共享数据库

问题描述 投票:0回答:1

我有多个服务,它们使用相同的数据库 因此,我必须跨服务复制我的实体

如何重用 TypeORM 实体?

database microservices typeorm
1个回答
1
投票

我现在正处于非常相似的情况。到目前为止,我的方法是生成一个 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'],
© www.soinside.com 2019 - 2024. All rights reserved.