Typeorm + Firebase 功能:部署后“在任何 orm 配置文件中都找不到连接选项”
Posted
技术标签:
【中文标题】Typeorm + Firebase 功能:部署后“在任何 orm 配置文件中都找不到连接选项”【英文标题】:Typeorm + Firebase functions: "No connection options were found in any orm configuration files" after deployed 【发布时间】:2021-06-02 17:21:22 【问题描述】:环境:nodejs12
文件夹结构:
#root
/functions
/src
...
/models
/resolvers
index.ts
ormconfig.json
package.json
tsconfig.json
...
.firebaserc
firebase.json
在本地环境中开发时一切正常。部署到 firebase 函数后,No connection options were found in any orm configuration files
会出现。
可能是什么原因?
如果需要,我会更新更多信息。
==========================================
更新
以下是已部署代码的文件夹结构。 (云函数不能显示超过50个文件,所以我从GCP下载了源代码)
正如您所见,ormconfig.json
确实存在于根目录中,但不知何故无法找到它。我必须使用typeorm.createConnection(type: "postgres",...)
手动创建连接才能使代码正常工作。
【问题讨论】:
我认为部署找不到 ormconfig。可能有很多原因。我想知道你如何在本地测试它? @vitooh 和Firebase Local Emulator。部署时,firebase 将源代码构建到dist/
并将根文件夹上传到云函数,因此本地代码应与部署代码相同。
【参考方案1】:
当与 Google Cloud Functions 结合使用时,这可能是由带有 app-root-path(TypeORM uses for config file resolution)的 known bug 引起的。
对我有用的解决方法/修复是在我部署我的 Google Cloud Function 时将环境变量 APP_ROOT_PATH
设置为 /workspace
(app-root-path 在看到该变量时将 short-circuit)。
【讨论】:
我必须在云控制台的环境变量下添加它。我试图在我的本地系统上设置变量,然后部署它实际上是有意义的。以上是关于Typeorm + Firebase 功能:部署后“在任何 orm 配置文件中都找不到连接选项”的主要内容,如果未能解决你的问题,请参考以下文章
为啥重新部署应用后 Firebase 需要永远完成相同的功能?
部署到 Firebase 云功能时出错 - ?缺少配置详细信息
在 heroku 上部署 typeorm/typescript 应用程序