【问题标题】:typeorm migration:generate can't detect removed files from entities directorytypeorm 迁移:生成无法检测实体目录中已删除的文件
【发布时间】:2021-01-27 00:44:03
【问题描述】:

在 Typeorm 中,当我创建新实体文件或向现有实体添加新列时,migration: generate 工作正常。但是当我从实体文件夹中删除任何实体文件时,它无法检测到它。就我而言,这是src/models/*.ts

【问题讨论】:

  • 您是否尝试过删除构建文件夹并从头开始重建?如果它们的父 TS 文件已被删除,Typescript 不会从 build 文件夹中删除文件。

标签: database-migration typeorm


【解决方案1】:

我认为这是一种通缉行为。您想要的是实体和表之间的匹配,当删除实体时,TypeORM 应该生成一个迁移文件,其中表将被删除。但通常有些表没有实体表示,但不应删除。 在您的情况下,您需要手动创建一个空的迁移文件 typeorm migration:create -c default -n DropTable 并删除该表。

【讨论】:

  • 从问题的上下文来看,在我看来,他使用的是自动模型同步而不是迁移。
  • 我不确定,标题清楚地写着迁移:生成。但如果是这样,我会更新我的答案。
  • 我也遇到了同样的问题,这个 bug 报告在 Github github.com/typeorm/typeorm/issues/7814。我的解决方案是@JudgeFudge 提出的,手动创建迁移,但是您可以从之前的迁移中复制要删除的表的回滚代码,这就足够了。
猜你喜欢
  • 2021-10-17
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2022-11-14
  • 2020-12-30
  • 2019-11-17
  • 2021-05-12
  • 2021-06-09
相关资源
最近更新 更多