diff --git a/lib/dialects/basedialect.js b/lib/dialects/basedialect.js index 7fcdbfd..7e4f89c 100644 --- a/lib/dialects/basedialect.js +++ b/lib/dialects/basedialect.js @@ -170,7 +170,7 @@ exports.getUpdateSql = function(mapping) { */ exports.getInsertSql = function(mapping) { const buf = ["INSERT INTO ", this.quote(mapping.tableName, mapping.schemaName), - " (", this.quote(mapping.id.column), ", "]; + " (", this.quote(mapping.id.column)]; const values = new Array(mapping.mappings); if (mapping.id.sequence && this.hasSequenceSupport) { values[0] = this.getInsertNextSequenceValue(mapping.id.sequence); @@ -178,6 +178,9 @@ exports.getInsertSql = function(mapping) { values[0] = "DEFAULT"; } const max = mapping.mappings.length; + if (max > 0) { + buf.push(", "); + } for (let idx = 1; idx < max; idx += 1) { let propMapping = mapping.mappings[idx]; if (idx > 1) { diff --git a/lib/mapping/entity.js b/lib/mapping/entity.js index 3332bc4..3193d85 100644 --- a/lib/mapping/entity.js +++ b/lib/mapping/entity.js @@ -103,7 +103,7 @@ Mapping.create = function(dialect, type, definition) { const mapping = new Mapping(type, definition.table, definition.schema); mapping.indexes = definition.indexes || null; mapping.addIdMapping(dialect, definition.id || {}); - Object.keys(definition.properties).forEach(function(propertyName) { + Object.keys(definition.properties || {}).forEach(function(propertyName) { const propertyDefinition = definition.properties[propertyName]; // allow simple property definitions with just data type if (typeof propertyDefinition === "string") {