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

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

  1. есть ли документация о том, как создать такой новый диалект для Sequelize?
  2. это поощрять?

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