我有一个流复制db正在运行,当主db失败时,我想要更改到它的连接。
我已经为配置/database.ts上的dbs设置了连接,并尝试使用连接menager事件,如adonis 文档中的那样:
Doc示例:
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’类型中不存在。
知道该怎么做吗?谢谢。
发布于 2022-12-02 14:42:18
看起来,您正在尝试在on web框架中使用ConnectionManagerContract接口的AdonisJS方法。
在TypeScript中,不能直接调用接口上的方法。相反,您可以创建实现接口的类的实例,并在该实例上调用方法。在ConnectionManagerContract接口中,实现类是ConnectionManager类。
下面是一个示例,说明如何使用ConnectionManager类的ConnectionManager方法侦听db:connection:error事件:
import Database from "@ioc:Adonis/Lucid/Database";
const manager = new Database.manager.ConnectionManager();
manager.on('db:connection:error', (connection) => {
console.log(connection);
});然后,可以使用manager实例访问ConnectionManager类的其他方法,如create或acquire,以创建或获取到数据库的连接。
我希望这能帮到你!如果你还有其他问题,请告诉我。
https://stackoverflow.com/questions/74656914
复制相似问题