@@ -9,7 +9,9 @@ var path = require('path');
9
9
var log = require ( 'db-migrate-shared' ) . log ;
10
10
const Promise = require ( 'bluebird' ) ;
11
11
12
- exports . connect = function ( config , PassedClass ) {
12
+ Promise . promisifyAll ( driver ) ;
13
+
14
+ exports . connect = async function ( config , PassedClass ) {
13
15
var internals = { } ;
14
16
var prefix = 'migration' ;
15
17
if ( config . config ) {
@@ -18,13 +20,23 @@ exports.connect = function (config, PassedClass) {
18
20
config = config . config ;
19
21
}
20
22
23
+ const db2 = await driver . connectAsync ( config , internals ) ;
24
+
21
25
return Promise . fromCallback ( callback => {
22
26
driver . connect ( config , internals , function ( err , db ) {
23
27
if ( err ) {
24
28
callback ( err ) ;
25
29
return ;
26
30
}
27
31
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
+
28
40
var dirPath = path . resolve (
29
41
internals . argv [ 'migrations-dir' ] || 'migrations'
30
42
) ;
@@ -59,7 +71,8 @@ exports.connect = function (config, PassedClass) {
59
71
dirPath ,
60
72
internals . mode !== 'static' ,
61
73
internals ,
62
- prefix
74
+ prefix ,
75
+ { db2 }
63
76
)
64
77
) ;
65
78
} ) ;
@@ -100,6 +113,7 @@ exports.connect = function (config, PassedClass) {
100
113
db ,
101
114
oldClose ,
102
115
prefix ,
116
+ db2 ,
103
117
cb
104
118
) ;
105
119
} ;
@@ -115,7 +129,8 @@ exports.connect = function (config, PassedClass) {
115
129
dirPath ,
116
130
internals . mode !== 'static' ,
117
131
internals ,
118
- prefix
132
+ prefix ,
133
+ { db2 }
119
134
)
120
135
) ;
121
136
}
@@ -142,6 +157,7 @@ function migrationFiles (
142
157
db ,
143
158
close ,
144
159
prefix ,
160
+ db2 ,
145
161
cb
146
162
) {
147
163
var file ;
@@ -187,7 +203,8 @@ function migrationFiles (
187
203
internals . argv [ 'migrations-dir' ] ,
188
204
internals . mode !== 'static' ,
189
205
internals ,
190
- prefix
206
+ prefix ,
207
+ { db2 }
191
208
)
192
209
) ;
193
210
0 commit comments