prisma - 连接意识

标签 prisma

有没有办法了解 Prisma 的连接状态?

我知道它会自动完成所有操作,因此我不必担心与连接相关的任何事情。
但如果我想怎么办?

基本上我错过了两件事:

  • 值得关注的事件。 client.on('disconnected', ...) 或实现一个接口(interface)(例如 onDisconnected() { ... })
  • $connect() 如果无法连接,则会抛出错误。当数据库未启动并且我启动应用程序时没有引发异常。
// Context:
//   - DB not started yet

try {
  await client.$connect();
  console.log('DB connected');
} catch (e) {
  console.log('DB is unavailable');
}

// Output
//
// > DB connected

我的用例:如果数据库停止并且无法在一段时间内恢复连接,我想向维护人员发送系统消息并关闭整个服务。

最佳答案

好吧,我克服了它。我想这与其说是一个功能,不如说是一个错误。

因此,$connect()不会抛出错误,它之前可以成功连接,但数据库已停止,并且未调用$disconnect()

因此,在识别出连接丢失时调用 $disconnect() 会导致 $connect() 抛出错误(如果仍然无法连接)。

我仍然怀念监视连接事件的能力,但这对我来说现在已经足够了。

关于prisma - 连接意识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72730216/

相关文章:

javascript - GraphQL 突变抛出错误

express - 将 Stripe webhooks 与 graphql-yoga 和 Prisma 结合使用

prisma - 使用 connect 相对于直接更新外键的优势

javascript - 执行更新用户突变时出现问题

typescript - 棱镜 : how can I add a column on a query return?

node.js - GraphQL/Prisma 订阅仅针对 DELETE 触发

node.js - 使用 Prisma 2 从查询中排除用户密码

mysql - 使用 Prisma 的 MySQL 锻炼应用程序架构

graphql - <ReferenceArrayInput/> 无法与我的自定义数据提供程序 (prisma) 配合使用

reactjs - 添加新字段后,Prisma Schema 未正确更新