TypeORM - 是否可以将架构与模型/实体文件分开?

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

来自 PHP 世界(Laravel/Eloquent、Symfony/Doctrine),我习惯了 ORM 不指定模式,而是创建可访问的模式属性,这意味着我从未使用“模型”文件来维护模式,而是由迁移。

在尝试磨练我的 NodeJS/TypeScript 技能时,我尝试以相同的方式使用 TypeORM,表模式将通过迁移来处理,而模型文件允许通过代码访问表属性。经过一些阅读和尝试编程后,我意识到 TypeORM 似乎不支持这种类型的分离,它们似乎迫使我们使用需要指示模式的实体元数据的“实体”。

我的问题是,是否可以配置 TypeORM,使表模式仅通过迁移来处理,模型文件的影响为 0?

node.js typescript orm typeorm
1个回答
0
投票

在 TypeORM 中你无法真正完全避免实体。但这里有一些思想流派:

  1. 您可以拥有的实体不仅定义列名称和类型,还定义整个架构(如键、关系、索引、约束等)。但这看起来不像你想要的。所以或者:

  2. 您可以定义非常“简单”的实体,并且就像简单的对象一样来访问数据。然后:

  3. 您可以使用纯粹的迁移文件,在其中定义整个架构,包括列、类型、键约束等。当您想要对表进行更改时,请始终更新迁移。但是,假设您移除了路边的一根柱子?您需要手动转到“实体”文件,该文件的作用类似于简单的 class/pojo - 并删除其中的任何列。但实体不会以这种方式与迁移联系在一起。

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.