升级到8.x后出现Nestjs/typeorm错误无法连接



从nestjs7.x升级到nestjs8后,我得到一个类型错误:

ERROR [TypeOrmModule] Unable to connect to the database.
2022-01-07T19:31:13.955332+00:00: TypeORMError: Entity metadata for c#mymodel was not found. Check if you specified a correct entity object and if it's connected in the connection options.
2022-01-07T19:31:13.955333+00:00: at new TypeORMError (/app/node_modules/typeorm/error/TypeORMError.js:9:28)
2022-01-07T19:31:13.955336+00:00: at /app/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:597:23
2022-01-07T19:31:13.955337+00:00: at Array.forEach (<anonymous>)
2022-01-07T19:31:13.955338+00:00: at EntityMetadataBuilder.computeInverseProperties (/app/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:593:34)
2022-01-07T19:31:13.955338+00:00: at /app/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:85:74
2022-01-07T19:31:13.955338+00:00: at Array.forEach (<anonymous>)
2022-01-07T19:31:13.955339+00:00: at EntityMetadataBuilder.build (/app/node_modules/typeorm/metadata-builder/EntityMetadataBuilder.js:85:25)
2022-01-07T19:31:13.955339+00:00: at ConnectionMetadataBuilder.buildEntityMetadatas (/app/node_modules/typeorm/connection/ConnectionMetadataBuilder.js:57:148)
2022-01-07T19:31:13.955340+00:00: at Connection.buildMetadatas (/app/node_modules/typeorm/connection/Connection.js:513:57)
2022-01-07T19:31:13.955340+00:00: at Connection.<anonymous> (/app/node_modules/typeorm/connection/Connection.js:126:30)

这种情况只发生在我的两个heroku实例中。我的本地实例运行良好!

除了升级之外,我的实体或其他东西都没有改变。我还在服务器上用相同的凭据测试了一个脚本,它按预期连接。

所以我的问题是:升级中的哪些更改可能会导致错误?这个错误说";无法连接到数据库";,但是导致该错误的原因似乎是在EntityMetadataBuilder.computeConverseProperties中抛出的,并且没有说任何类似于";主机不可达";或";SSL错误";或者任何典型的连接故障,所以这个错误可能是误导性的?

如果我查看源代码,我会看到错误信息:"+"的实体元数据entityMetadata.name+"#"+relation.propertiesPath+";未找到";错误输出为:找不到c#mymodel的实体元数据我有一个财产路径";mymodel";但没有实体Metadata.name";c"?

如果我切换回以前的版本,它会再次工作。数据库是postgres。

附录:我刚刚意识到引导过程显示了一些奇怪的由单个字符或下划线组成的缩短模块名称。有什么想法可能导致这种情况吗?:

[Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] _ dependencies initialized +13ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] MailerCoreModule dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] a dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] WinstonModule dependencies initialized +2ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] ServeStaticModule dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] ServeStaticModule dependencies initialized +0ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] _ dependencies initialized +0ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] a dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] l dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] l dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] GraphQLSchemaBuilderModule dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] u dependencies initialized +1ms
app[web.1]: [Nest] 4  - 01/17/2022, 9:00:20 PM     LOG [InstanceLoader] _ dependencies initialized +2ms

因此,失败的原因似乎是nx的webpack配置发生了更改。如果webpack的优化标志为true,则所有类名都将被缩小。

正如假定的那样,错误消息说";无法连接"完全具有误导性。该问题与数据库无关。

github/nrwl 上存在问题

最新更新