首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行时使用Adonis.js更改Postgres连接?

如何在运行时使用Adonis.js更改Postgres连接?
EN

Stack Overflow用户
提问于 2022-12-02 13:58:37
回答 1查看 28关注 0票数 0

我有一个流复制db正在运行,当主db失败时,我想要更改到它的连接。

我已经为配置/database.ts上的dbs设置了连接,并尝试使用连接menager事件,如adonis 文档中的那样:

Doc示例:

代码语言:javascript
复制
import Database from "@ioc:Adonis/Lucid/Database";

Database.manager.on('db:connection:error', (connection) => {
  console.log(self === connection) // true
})

我试着在start/events.ts上使用它,但是它不识别' on‘方法。

属性' on‘在'ConnectionManagerContract’类型中不存在。

知道该怎么做吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-12-02 14:42:18

看起来,您正在尝试在on web框架中使用ConnectionManagerContract接口的AdonisJS方法。

在TypeScript中,不能直接调用接口上的方法。相反,您可以创建实现接口的类的实例,并在该实例上调用方法。在ConnectionManagerContract接口中,实现类是ConnectionManager类。

下面是一个示例,说明如何使用ConnectionManager类的ConnectionManager方法侦听db:connection:error事件:

代码语言:javascript
复制
import Database from "@ioc:Adonis/Lucid/Database";

const manager = new Database.manager.ConnectionManager();

manager.on('db:connection:error', (connection) => {
  console.log(connection);
});

然后,可以使用manager实例访问ConnectionManager类的其他方法,如createacquire,以创建或获取到数据库的连接。

我希望这能帮到你!如果你还有其他问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74656914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档