123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 'use strict';
- const _ = require('lodash');
- const AbstractDialect = require('../abstract');
- const ConnectionManager = require('./connection-manager');
- const Query = require('./query');
- const QueryGenerator = require('./query-generator');
- const DataTypes = require('../../data-types').mssql;
- class MssqlDialect extends AbstractDialect {
- constructor(sequelize) {
- super();
- this.sequelize = sequelize;
- this.connectionManager = new ConnectionManager(this, sequelize);
- this.QueryGenerator = new QueryGenerator({
- _dialect: this,
- sequelize
- });
- }
- }
- MssqlDialect.prototype.supports = _.merge(_.cloneDeep(AbstractDialect.prototype.supports), {
- 'DEFAULT': true,
- 'DEFAULT VALUES': true,
- 'LIMIT ON UPDATE': true,
- 'ORDER NULLS': false,
- lock: false,
- transactions: true,
- migrations: false,
- returnValues: {
- output: true
- },
- schemas: true,
- autoIncrement: {
- identityInsert: true,
- defaultValue: false,
- update: false
- },
- constraints: {
- restrict: false,
- default: true
- },
- index: {
- collate: false,
- length: false,
- parser: false,
- type: true,
- using: false,
- where: true
- },
- NUMERIC: true,
- tmpTableTrigger: true
- });
- ConnectionManager.prototype.defaultVersion = '12.0.2000'; // SQL Server 2014 Express
- MssqlDialect.prototype.Query = Query;
- MssqlDialect.prototype.name = 'mssql';
- MssqlDialect.prototype.TICK_CHAR = '"';
- MssqlDialect.prototype.TICK_CHAR_LEFT = '[';
- MssqlDialect.prototype.TICK_CHAR_RIGHT = ']';
- MssqlDialect.prototype.DataTypes = DataTypes;
- module.exports = MssqlDialect;
|