相关疑难解决方法(0)

在sequelize中检查mysql连接

我有一个非常简单的程序,我在其中创建一个Sequelize实例,然后我在mysql数据库上执行原始查询.这种情况是,当MySql启动并运行时没有问题,我可以毫无问题地执行查询.但是当MySql没有运行时,查询在查询超时达到之前不会发出任何错误,然后它会导致ETIMEOUT错误.但那并不是真正发生的事情.我希望查询发出ENOTFOUND错误或类似的东西,如果mysql没有运行,所以我可以管理错误并执行不同的操作,如果Mysql已关闭或Mysql非常繁忙,并具有非常大的响应时间.我应该怎么做才能检查Mysql是否已启动并运行而无需等待超时异常.

sequelize = new Sequelize(db_name, db_user, db_pass, opts);

sequelize.query('SELECT * FROM some_table').success(function(result) {
  console.log(result);
}).error(function(err) {
  console.log(err);
});
Run Code Online (Sandbox Code Playgroud)

mysql node.js sequelize.js

22
推荐指数
2
解决办法
2万
查看次数

Sequelize.authenticate() 对 Docker 内部的 google cloud sql 连接不起作用(没有成功或错误响应)

我正在使用 typescript、express 和Sequelize.

这是我的database连接类。

export class Database {
  private _sequelize: Sequelize;
  private config: DBConfigGroup = dbConfig;
  private env = process.env.NODE_ENV as string;

  constructor() {
    this._sequelize = new Sequelize({
      dialect: 'postgres',
      database: this.config[this.env].database,
      username: this.config[this.env].username,
      password: this.config[this.env].password,
      host: this.config[this.env].host,
    });
  }

  async connect(): Promise<void> {
    try {
      console.log('start connect');
      await this._sequelize.authenticate();
      console.log('Connection has been established successfully.'.green.bold);
    } catch (error) {
      console.error('Unable to connect to the database:'.red.bold, error);
    }
  }

  async close(): Promise<void> {
    try {
      await this._sequelize.close(); …
Run Code Online (Sandbox Code Playgroud)

node.js sequelize.js google-cloud-sql google-cloud-platform docker-compose

14
推荐指数
1
解决办法
3297
查看次数