Skip to content

Commit 5bafb17

Browse files
committed
second database line for parallel queries
Signed-off-by: Tobias Gurtzick <[email protected]>
1 parent d564a48 commit 5bafb17

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

connect.js

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ var path = require('path');
99
var log = require('db-migrate-shared').log;
1010
const Promise = require('bluebird');
1111

12-
exports.connect = function (config, PassedClass) {
12+
Promise.promisifyAll(driver);
13+
14+
exports.connect = async function (config, PassedClass) {
1315
var internals = {};
1416
var prefix = 'migration';
1517
if (config.config) {
@@ -18,13 +20,23 @@ exports.connect = function (config, PassedClass) {
1820
config = config.config;
1921
}
2022

23+
const db2 = await driver.connectAsync(config, internals);
24+
2125
return Promise.fromCallback(callback => {
2226
driver.connect(config, internals, function (err, db) {
2327
if (err) {
2428
callback(err);
2529
return;
2630
}
2731

32+
const realClose = db.close;
33+
// close both lines with one disconnect action
34+
db.close = function (cb) {
35+
db2.close(function () {});
36+
db.close = realClose;
37+
db.close(cb);
38+
};
39+
2840
var dirPath = path.resolve(
2941
internals.argv['migrations-dir'] || 'migrations'
3042
);
@@ -59,7 +71,8 @@ exports.connect = function (config, PassedClass) {
5971
dirPath,
6072
internals.mode !== 'static',
6173
internals,
62-
prefix
74+
prefix,
75+
{ db2 }
6376
)
6477
);
6578
});
@@ -100,6 +113,7 @@ exports.connect = function (config, PassedClass) {
100113
db,
101114
oldClose,
102115
prefix,
116+
db2,
103117
cb
104118
);
105119
};
@@ -115,7 +129,8 @@ exports.connect = function (config, PassedClass) {
115129
dirPath,
116130
internals.mode !== 'static',
117131
internals,
118-
prefix
132+
prefix,
133+
{ db2 }
119134
)
120135
);
121136
}
@@ -142,6 +157,7 @@ function migrationFiles (
142157
db,
143158
close,
144159
prefix,
160+
db2,
145161
cb
146162
) {
147163
var file;
@@ -187,7 +203,8 @@ function migrationFiles (
187203
internals.argv['migrations-dir'],
188204
internals.mode !== 'static',
189205
internals,
190-
prefix
206+
prefix,
207+
{ db2 }
191208
)
192209
);
193210

lib/walker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const INTERFACES = {
2424
'static-seed': require('./interface/seederInterface.js')
2525
};
2626

27-
const Walker = function (driver, directory, mode, intern, prefix) {
27+
const Walker = function (driver, directory, mode, intern, prefix, opts = {}) {
2828
this.driver = dbmUtil.reduceToInterface(driver, INTERFACES[prefix]);
2929
this._driver = driver;
3030
Promise.promisifyAll(this._driver);

0 commit comments

Comments
 (0)