@devotis/db-migrate-mssql
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -9,3 +9,9 @@ # Changelog | ||
## [1.1.0] - 2019-10-24 | ||
### Added | ||
- Each migration is run within a transaction. Failed sql means migration did not happen. (PR #2) ([jpinkster]) | ||
## [1.0.1] - 2019-04-14 | ||
### Fixed | ||
@@ -12,0 +18,0 @@ - Invalid object name '[your-schema].migrations'. Was caused by checking the `recordset` property that is already removed by the `all` and `runSql` functions. |
58
index.js
@@ -7,3 +7,3 @@ var util = require('util'); | ||
var MssqlDriver = Base.extend({ | ||
init: function (pool, schema, intern) { | ||
init: function (connection, schema, intern) { | ||
this.log = intern.mod.log; | ||
@@ -14,18 +14,6 @@ this.type = intern.mod.type; | ||
this.internals = intern; | ||
this.pool = pool; | ||
this.connection = connection; | ||
this.schema = schema || 'dbo'; | ||
}, | ||
// startMigration: function (cb) { | ||
// if (!this.internals.notransactions) { | ||
// return this.runSql('BEGIN').nodeify(cb); | ||
// } else return Promise.resolve().nodeify(cb); | ||
// }, | ||
// | ||
// endMigration: function (cb) { | ||
// if (!this.internals.notransactions) { | ||
// return this.runSql('COMMIT').nodeify(cb); | ||
// } else return Promise.resolve(null).nodeify(cb); | ||
// }, | ||
createColumnDef: function (name, spec, options, tableName) { | ||
@@ -514,13 +502,32 @@ var type = | ||
function (resolve, reject) { | ||
const request = this.pool.request(); | ||
if (this.internals.notransactions) { | ||
const request = new this.connection.Request(); | ||
if (params[1]) { | ||
for (let i = 0; i < params[1].length; i++) { | ||
request.input(`input_${i + 1}`, params[1][i]); | ||
if (params[1]) { | ||
for (let i = 0; i < params[1].length; i++) { | ||
request.input(`input_${i + 1}`, params[1][i]); | ||
} | ||
} | ||
request.query(params[0]).then(result => { | ||
resolve(result.recordset); | ||
}, reject); | ||
} | ||
else { | ||
const transaction = new this.connection.Transaction(); | ||
transaction.begin(() => { | ||
const request = new this.connection.Request(transaction); | ||
request.query(params[0]).then(result => { | ||
resolve(result.recordset); | ||
}, reject); | ||
if (params[1]) { | ||
for (let i = 0; i < params[1].length; i++) { | ||
request.input(`input_${i + 1}`, params[1][i]); | ||
} | ||
} | ||
request.query(params[0]).then(result => { | ||
transaction.commit(); | ||
resolve(result.recordset); | ||
}, reject); | ||
}) | ||
} | ||
}.bind(this) | ||
@@ -537,3 +544,3 @@ ).nodeify(callback); | ||
function (resolve, reject) { | ||
const request = this.pool.request(); | ||
const request = new this.connection.Request(); | ||
@@ -553,3 +560,3 @@ request.query(params[0]).then(result => { | ||
}).then(() => { | ||
return this.pool.close(); | ||
return this.connection.close(); | ||
}); | ||
@@ -622,7 +629,6 @@ | ||
var db = config.db || new mssql.ConnectionPool(config); | ||
db.connect() | ||
mssql.connect(config) | ||
.then(pool => { | ||
callback(null, new MssqlDriver(db, config.schema, intern)); | ||
callback(null, new MssqlDriver(mssql, config.schema, intern)); | ||
}) | ||
@@ -629,0 +635,0 @@ .catch(err => { |
{ | ||
"name": "@devotis/db-migrate-mssql", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "A mssql driver for db-migrate", | ||
@@ -33,3 +33,3 @@ "main": "index.js", | ||
"db-migrate-base": "^1.6.3", | ||
"mssql": "5.0.5" | ||
"mssql": "6.0.0-beta.1" | ||
}, | ||
@@ -36,0 +36,0 @@ "devDependencies": { |
21668
560
+ Added@azure/abort-controller@2.1.2(transitive)
+ Added@azure/core-auth@1.7.2(transitive)
+ Added@azure/core-util@1.9.0(transitive)
+ Added@azure/ms-rest-azure-env@2.0.0(transitive)
+ Added@azure/ms-rest-js@2.7.0(transitive)
+ Added@azure/ms-rest-nodeauth@3.1.1(transitive)
+ Added@types/node@12.20.55(transitive)
+ Added@types/readable-stream@2.3.15(transitive)
+ Added@xmldom/xmldom@0.8.10(transitive)
+ Addedabort-controller@3.0.0(transitive)
+ Addedadal-node@0.2.4(transitive)
+ Addedasync@2.6.4(transitive)
+ Addedaxios@0.21.4(transitive)
+ Addedbl@3.0.1(transitive)
+ Addeddebug@4.3.5(transitive)
+ Addeddepd@2.0.0(transitive)
+ Addedevent-target-shim@5.0.1(transitive)
+ Addedfollow-redirects@1.15.6(transitive)
+ Addedform-data@2.5.1(transitive)
+ Addediconv-lite@0.5.2(transitive)
+ Addedjsbi@3.2.5(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedms@2.1.2(transitive)
+ Addedmssql@6.0.0-beta.1(transitive)
+ Addednode-fetch@2.7.0(transitive)
+ Addedsax@1.4.1(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedtarn@1.1.5(transitive)
+ Addedtedious@6.7.1(transitive)
+ Addedtr46@0.0.3(transitive)
+ Addedtslib@1.14.12.6.2(transitive)
+ Addedtunnel@0.0.6(transitive)
+ Addeduuid@8.3.2(transitive)
+ Addedwebidl-conversions@3.0.1(transitive)
+ Addedwhatwg-url@5.0.0(transitive)
+ Addedxml2js@0.5.0(transitive)
+ Addedxmlbuilder@11.0.1(transitive)
- Removed@types/node@8.10.66(transitive)
- Removedadal-node@0.1.28(transitive)
- Removedajv@6.12.6(transitive)
- Removedasn1@0.2.6(transitive)
- Removedassert-plus@1.0.0(transitive)
- Removedasync@3.2.5(transitive)
- Removedaws-sign2@0.7.0(transitive)
- Removedaws4@1.13.0(transitive)
- Removedbcrypt-pbkdf@1.0.2(transitive)
- Removedbig-number@1.0.0(transitive)
- Removedbl@2.2.1(transitive)
- Removedcaseless@0.12.0(transitive)
- Removedcore-util-is@1.0.21.0.3(transitive)
- Removeddashdash@1.14.1(transitive)
- Removeddebug@3.2.7(transitive)
- Removeddepd@1.1.2(transitive)
- Removedecc-jsbn@0.1.2(transitive)
- Removedextend@3.0.2(transitive)
- Removedextsprintf@1.3.0(transitive)
- Removedfast-deep-equal@3.1.3(transitive)
- Removedfast-json-stable-stringify@2.1.0(transitive)
- Removedforever-agent@0.6.1(transitive)
- Removedform-data@2.3.3(transitive)
- Removedgeneric-pool@3.9.0(transitive)
- Removedgetpass@0.1.7(transitive)
- Removedhar-schema@2.0.0(transitive)
- Removedhar-validator@5.1.5(transitive)
- Removedhttp-signature@1.2.0(transitive)
- Removediconv-lite@0.4.24(transitive)
- Removedis-typedarray@1.0.0(transitive)
- Removedisarray@1.0.0(transitive)
- Removedisstream@0.1.2(transitive)
- Removedjsbn@0.1.1(transitive)
- Removedjson-schema@0.4.0(transitive)
- Removedjson-schema-traverse@0.4.1(transitive)
- Removedjson-stringify-safe@5.0.1(transitive)
- Removedjsprim@1.4.2(transitive)
- Removedms@2.1.3(transitive)
- Removedmssql@5.0.5(transitive)
- Removedoauth-sign@0.9.0(transitive)
- Removedperformance-now@2.1.0(transitive)
- Removedprocess-nextick-args@2.0.1(transitive)
- Removedpsl@1.9.0(transitive)
- Removedqs@6.5.3(transitive)
- Removedreadable-stream@2.3.8(transitive)
- Removedrequest@2.88.2(transitive)
- Removedsshpk@1.18.0(transitive)
- Removedstring_decoder@1.1.1(transitive)
- Removedtedious@4.2.0(transitive)
- Removedtough-cookie@2.5.0(transitive)
- Removedtunnel-agent@0.6.0(transitive)
- Removedtweetnacl@0.14.5(transitive)
- Removeduri-js@4.4.1(transitive)
- Removedverror@1.10.0(transitive)
- Removedxmldom@0.6.0(transitive)
Updatedmssql@6.0.0-beta.1