Created
June 29, 2016 18:26
-
-
Save ww9rivers/2da567033b6418552d9da443174be2b6 to your computer and use it in GitHub Desktop.
Code to reproduce a Sequelize "incorrect syntax" issue.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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