Как создать новый диалект Sequelize, например DB2

Sequelize поддерживает пять вариантов СУБД. В моем проекте у нас есть устаревшая база данных, расположенная в IBM DB2, которой нет в этом списке. Существует драйвер node для DB2, опубликованный IBM.

  • Есть ли документация о том, как создать такой новый диалект для Sequelize?
  • Поддерживается ли это?

Ответ 1

В соответствии с последним для v4.0.0. Он выдает ошибку, если вы используете любую вещь, кроме пяти указанных диалектов, вы можете изменить драйверы, но не диалект. 1. Так вы не можете этого сделать 2. Не поощряется

      var Dialect;
  // Requiring the dialect in a switch-case to keep the
  // require calls static. (Browserify fix)
  switch (this.getDialect()){
    case 'mariadb':
      Dialect = require('./dialects/mariadb');
      break;
    case 'mssql':
      Dialect = require('./dialects/mssql');
      break;
    case 'mysql':
      Dialect = require('./dialects/mysql');
      break;
    case 'postgres':
      Dialect = require('./dialects/postgres');
      break;
    case 'sqlite':
      Dialect = require('./dialects/sqlite');
      break;
    default:
      throw new Error('The dialect ' + this.getDialect() + ' is not supported. Supported dialects: mariadb, mssql, mysql, postgres, and sqlite.');
  }

https://github.com/sequelize/sequelize/blob/3e5b8772ef75169685fc96024366bca9958fee63/lib/sequelize.js#L91