json-schema-table
Advanced tools
Comparing version 0.0.3 to 0.0.4
30
index.js
@@ -140,7 +140,8 @@ var _ = require('lodash'); | ||
}); | ||
assert(primaryKey.length, 'Table ' + tableName + ' has no primary keys'); | ||
columns.push('CONSTRAINT ' + wrap(buildPkConstraintName(tableName, primaryKey), delimiters) + | ||
' PRIMARY KEY (' + primaryKey.map(function(column) { | ||
return wrap(column, delimiters); | ||
}).join(',') + ')'); | ||
if (primaryKey.length) { | ||
columns.push('CONSTRAINT ' + wrap(buildPkConstraintName(tableName, primaryKey), delimiters) + | ||
' PRIMARY KEY (' + primaryKey.map(function(column) { | ||
return wrap(column, delimiters); | ||
}).join(',') + ')'); | ||
} | ||
@@ -189,3 +190,2 @@ return dialect.name === 'mssql' ? | ||
}); | ||
assert(primaryKey.length, 'Table ' + tableName + ' has no primary keys'); | ||
var oldPrimaryKey = metadata.tablesWithPrimaryKey[tableName].map(function(column) { | ||
@@ -195,9 +195,13 @@ return column.column; | ||
if (_.difference(primaryKey, oldPrimaryKey).length) { | ||
commands.push('ALTER TABLE ' + wrap(tableName, delimiters) + ' DROP CONSTRAINT ' | ||
+ wrap(buildPkConstraintName(tableName, oldPrimaryKey), delimiters)); | ||
commands.push('ALTER TABLE ' + wrap(tableName, delimiters) + ' ADD CONSTRAINT ' | ||
+ wrap(buildPkConstraintName(tableName, primaryKey), delimiters) + ' PRIMARY KEY (' + | ||
primaryKey.map(function(column) { | ||
return wrap(column, delimiters); | ||
}).join(',') + ')'); | ||
if (oldPrimaryKey.length) { | ||
commands.push('ALTER TABLE ' + wrap(tableName, delimiters) + ' DROP CONSTRAINT ' | ||
+ wrap(buildPkConstraintName(tableName, oldPrimaryKey), delimiters)); | ||
} | ||
if (primaryKey.length) { | ||
commands.push('ALTER TABLE ' + wrap(tableName, delimiters) + ' ADD CONSTRAINT ' | ||
+ wrap(buildPkConstraintName(tableName, primaryKey), delimiters) + ' PRIMARY KEY (' + | ||
primaryKey.map(function(column) { | ||
return wrap(column, delimiters); | ||
}).join(',') + ')'); | ||
} | ||
} | ||
@@ -204,0 +208,0 @@ return commands.join(';'); |
{ | ||
"name": "json-schema-table", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Creates and maintains a SQL table structure", | ||
@@ -5,0 +5,0 @@ "homepage": "", |
1232
51157