Skip to content

Instantly share code, notes, and snippets.

@ww9rivers
Created June 29, 2016 18:26
Show Gist options
  • Select an option

  • Save ww9rivers/2da567033b6418552d9da443174be2b6 to your computer and use it in GitHub Desktop.

Select an option

Save ww9rivers/2da567033b6418552d9da443174be2b6 to your computer and use it in GitHub Desktop.
Code to reproduce a Sequelize "incorrect syntax" issue.
#!/usr/bin/env node
// -*- mode:javascript; indent-tabs-mode:t; js-indent-level:8; -*-
'use strict'
var Sequelize = require('sequelize');
const
Wei_DEV = {
host: "<server-DNS-name>",
dialect: "mssql"
},
user = "<username>",
password = "<password>"
const
Descriptor = {
indexes: [
{
unique: true,
fields: [ 'IpAddress', 'port' ]
}
],
//tableName: "lookup.networking.port.description",
tableName: "lookup-networking-port-description",
timestamps: true,
comment: "This table is intended to be a lookup table from (IP, port) => description."
},
fields = {
IpAddress: {
type: Sequelize.STRING,
length: 16,
allowNull: false
},
port: {
type: Sequelize.STRING,
length: 16,
allowNull: false
},
description: {
type: Sequelize.STRING,
allowNull: false
}
}
var dbx = new Sequelize('Wei_DEV', user, password, Wei_DEV)
var lookup = dbx.define('Descriptor', fields, Descriptor)
lookup.sync()
/*
Test 1: with 'lookup.networking.port.description'
$ ./syntax.js
Executing (default): IF OBJECT_ID('[lookup.networking.port.description]', 'U') IS NULL CREATE TABLE [lookup.networking.port.description] ([id] INTEGER NOT NULL IDENTITY(1,1) , [IpAddress] NVARCHAR(255) NOT NULL, [port] NVARCHAR(255) NOT NULL, [description] NVARCHAR(255) NOT NULL, [createdAt] DATETIME2 NOT NULL, [updatedAt] DATETIME2 NOT NULL, PRIMARY KEY ([id]));
Executing (default): EXEC sys.sp_helpindex @objname = N'[lookup.networking.port.description]';
Executing (default): CREATE UNIQUE INDEX [lookup.networking.port].[description__ip_address_port] ON [lookup.networking.port].[description] ([IpAddress], [port])
Unhandled rejection SequelizeDatabaseError: Incorrect syntax near '.'.
at Query.formatError (/usr/lib/node_modules/sequelize/lib/dialects/mssql/query.js:250:10)
at Request.userCallback (/usr/lib/node_modules/sequelize/lib/dialects/mssql/query.js:82:25)
at Request.callback (/usr/lib/node_modules/tedious/lib/request.js:33:27)
at Connection.message (/usr/lib/node_modules/tedious/lib/connection.js:1179:27)
at Connection.dispatchEvent (/usr/lib/node_modules/tedious/lib/connection.js:519:45)
at MessageIO.<anonymous> (/usr/lib/node_modules/tedious/lib/connection.js:439:23)
at emitNone (events.js:80:13)
at MessageIO.emit (events.js:179:7)
at ReadablePacketStream.<anonymous> (/usr/lib/node_modules/tedious/lib/message-io.js:92:15)
at emitOne (events.js:90:13)
at ReadablePacketStream.emit (events.js:182:7)
at readableAddChunk (/usr/lib/node_modules/tedious/node_modules/readable-stream/lib/_stream_readable.js:210:18)
at ReadablePacketStream.Readable.push (/usr/lib/node_modules/tedious/node_modules/readable-stream/lib/_stream_readable.js:169:10)
at ReadablePacketStream.Transform.push (/usr/lib/node_modules/tedious/node_modules/readable-stream/lib/_stream_transform.js:123:32)
at ReadablePacketStream._transform (/usr/lib/node_modules/tedious/lib/message-io.js:57:16)
at ReadablePacketStream.Transform._read (/usr/lib/node_modules/tedious/node_modules/readable-stream/lib/_stream_transform.js:159:10)
Test 2: with 'lookup-networking-port-description'
$ ./syntax.js
Executing (default): IF OBJECT_ID('[lookup-networking-port-description]', 'U') IS NULL CREATE TABLE [lookup-networking-port-description] ([id] INTEGER NOT NULL IDENTITY(1,1) , [IpAddress] NVARCHAR(255) NOT NULL, [port] NVARCHAR(255) NOT NULL, [description] NVARCHAR(255) NOT NULL, [createdAt] DATETIME2 NOT NULL, [updatedAt] DATETIME2 NOT NULL, PRIMARY KEY ([id]));
Executing (default): EXEC sys.sp_helpindex @objname = N'[lookup-networking-port-description]';
Executing (default): CREATE UNIQUE INDEX [lookup-networking-port-description__ip_address_port] ON [lookup-networking-port-description] ([IpAddress], [port])
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment