API Reference Source

lib/dialects/mssql/index.js

  1. 'use strict';
  2.  
  3. const _ = require('lodash');
  4. const AbstractDialect = require('../abstract');
  5. const ConnectionManager = require('./connection-manager');
  6. const Query = require('./query');
  7. const QueryGenerator = require('./query-generator');
  8. const DataTypes = require('../../data-types').mssql;
  9.  
  10. class MssqlDialect extends AbstractDialect {
  11. constructor(sequelize) {
  12. super();
  13. this.sequelize = sequelize;
  14. this.connectionManager = new ConnectionManager(this, sequelize);
  15. this.QueryGenerator = new QueryGenerator({
  16. _dialect: this,
  17. sequelize
  18. });
  19. }
  20. }
  21.  
  22. MssqlDialect.prototype.supports = _.merge(_.cloneDeep(AbstractDialect.prototype.supports), {
  23. 'DEFAULT': true,
  24. 'DEFAULT VALUES': true,
  25. 'LIMIT ON UPDATE': true,
  26. 'ORDER NULLS': false,
  27. lock: false,
  28. transactions: true,
  29. migrations: false,
  30. returnValues: {
  31. output: true
  32. },
  33. schemas: true,
  34. autoIncrement: {
  35. identityInsert: true,
  36. defaultValue: false,
  37. update: false
  38. },
  39. constraints: {
  40. restrict: false,
  41. default: true
  42. },
  43. index: {
  44. collate: false,
  45. length: false,
  46. parser: false,
  47. type: true,
  48. using: false,
  49. where: true
  50. },
  51. NUMERIC: true,
  52. tmpTableTrigger: true
  53. });
  54.  
  55. ConnectionManager.prototype.defaultVersion = '12.0.2000'; // SQL Server 2014 Express
  56. MssqlDialect.prototype.Query = Query;
  57. MssqlDialect.prototype.name = 'mssql';
  58. MssqlDialect.prototype.TICK_CHAR = '"';
  59. MssqlDialect.prototype.TICK_CHAR_LEFT = '[';
  60. MssqlDialect.prototype.TICK_CHAR_RIGHT = ']';
  61. MssqlDialect.prototype.DataTypes = DataTypes;
  62.  
  63. module.exports = MssqlDialect;