TypeORMError: Connection is not established with mysql database
来源:6-1 CSR渲染标签管理列表

weixin_慕斯4243761
2023-01-24
多次在首页和标签页快速切换会报这个错误
写回答
4回答
-
vincentchanhk
2023-04-08
其实不是typeorm问题, 是因为nextjs用了HMR 导致lifecycle和传统nodejs的server side应用不同,从而影响了connection的状态,有机会变成stale Connection
而原本的connection managment只看connectionReadyPromise不是undefined就直接返回,因为connectionReadyPromise是Promise,赋值了之后基本不会undefined,这里很大机会出现该connection其实已经被废弃,而我们又从其中使用该废弃了的connection,到我们再用该connection访问DB就出现了该问题了。
总结来看,就是nextjs的HMR影响了lifecycle,导致connection释放异常,我们再用的话就出现问题。
解决办法,要么每次都create一条新的connection,
要么每次使用都查看一下connection.isConnected ,如果没有connected就call connect方法。20 -
Tomas
2023-01-25
可以断点排查下数据库是否链接成功哈
112023-01-26 -
Tomas
2023-04-10
感谢同学的解答ha
00 -
Tomas
2023-01-28
感谢同学的解答 其他同学有遇到这个问题可以参考一下哈
00
相似问题