1
- var util = require ( 'util' ) ;
2
- var moment = require ( 'moment' ) ;
3
- var mysql = require ( 'mysql ' ) ;
4
- var Base = require ( 'db-migrate-base' ) ;
5
- var Promise = require ( 'bluebird' ) ;
6
- var log ;
7
- var type ;
1
+ const util = require ( 'util' ) ;
2
+ const moment = require ( 'moment' ) ;
3
+ const mysql = require ( 'mysql2 ' ) ;
4
+ const Base = require ( 'db-migrate-base' ) ;
5
+ const Promise = require ( 'bluebird' ) ;
6
+ let log ;
7
+ let type ;
8
8
9
- var internals = { } ;
9
+ let internals = { } ;
10
10
11
- var MysqlDriver = Base . extend ( {
11
+ const MysqlDriver = Base . extend ( {
12
12
init : function ( connection ) {
13
13
this . _escapeDDL = '`' ;
14
14
this . _escapeString = "'" ;
@@ -17,7 +17,7 @@ var MysqlDriver = Base.extend({
17
17
} ,
18
18
19
19
startMigration : function ( cb ) {
20
- var self = this ;
20
+ const self = this ;
21
21
22
22
if ( ! internals . notransactions ) {
23
23
return this . runSql ( 'SET AUTOCOMMIT=0;' )
@@ -35,7 +35,7 @@ var MysqlDriver = Base.extend({
35
35
} ,
36
36
37
37
mapDataType : function ( spec ) {
38
- var len ;
38
+ let len ;
39
39
switch ( spec . type ) {
40
40
case type . TEXT :
41
41
len = parseInt ( spec . length , 10 ) || 1000 ;
@@ -72,9 +72,9 @@ var MysqlDriver = Base.extend({
72
72
} ,
73
73
74
74
createColumnDef : function ( name , spec , options , tableName ) {
75
- var escapedName = util . format ( '`%s`' , name ) ;
76
- var t = this . mapDataType ( spec ) ;
77
- var len ;
75
+ const escapedName = util . format ( '`%s`' , name ) ;
76
+ const t = this . mapDataType ( spec ) ;
77
+ let len ;
78
78
if ( spec . type === type . DECIMAL ) {
79
79
if ( spec . precision && spec . scale ) {
80
80
len = '(' + spec . precision + ',' + spec . scale + ')' ;
@@ -85,7 +85,7 @@ var MysqlDriver = Base.extend({
85
85
len = '(255)' ;
86
86
}
87
87
}
88
- var constraint = this . createColumnConstraint (
88
+ const constraint = this . createColumnConstraint (
89
89
spec ,
90
90
options ,
91
91
tableName ,
@@ -98,8 +98,8 @@ var MysqlDriver = Base.extend({
98
98
} ,
99
99
100
100
createColumnConstraint : function ( spec , options , tableName , columnName ) {
101
- var constraint = [ ] ;
102
- var cb ;
101
+ const constraint = [ ] ;
102
+ let cb ;
103
103
104
104
if ( spec . unsigned ) {
105
105
constraint . push ( 'UNSIGNED' ) ;
@@ -159,7 +159,11 @@ var MysqlDriver = Base.extend({
159
159
} ,
160
160
161
161
renameTable : function ( tableName , newTableName , callback ) {
162
- var sql = util . format ( 'RENAME TABLE `%s` TO `%s`' , tableName , newTableName ) ;
162
+ const sql = util . format (
163
+ 'RENAME TABLE `%s` TO `%s`' ,
164
+ tableName ,
165
+ newTableName
166
+ ) ;
163
167
return this . runSql ( sql ) . nodeify ( callback ) ;
164
168
} ,
165
169
@@ -190,8 +194,8 @@ var MysqlDriver = Base.extend({
190
194
} ,
191
195
192
196
createDatabase : function ( dbName , options , callback ) {
193
- var spec = '' ;
194
- var ifNotExists = '' ;
197
+ const spec = '' ;
198
+ let ifNotExists = '' ;
195
199
196
200
if ( typeof options === 'function' ) callback = options ;
197
201
else {
@@ -215,7 +219,7 @@ var MysqlDriver = Base.extend({
215
219
} ,
216
220
217
221
dropDatabase : function ( dbName , options , callback ) {
218
- var ifExists = '' ;
222
+ let ifExists = '' ;
219
223
220
224
if ( typeof options === 'function' ) callback = options ;
221
225
else {
@@ -229,7 +233,7 @@ var MysqlDriver = Base.extend({
229
233
} ,
230
234
231
235
removeColumn : function ( tableName , columnName , callback ) {
232
- var sql = util . format (
236
+ const sql = util . format (
233
237
'ALTER TABLE `%s` DROP COLUMN `%s`' ,
234
238
tableName ,
235
239
columnName
@@ -248,10 +252,10 @@ var MysqlDriver = Base.extend({
248
252
columns = [ columns ] ;
249
253
}
250
254
251
- var columnsList = [ ] ;
252
- for ( var columnIndex in columns ) {
253
- var column = columns [ columnIndex ] ;
254
- var columnSpec = '' ;
255
+ const columnsList = [ ] ;
256
+ for ( const columnIndex in columns ) {
257
+ const column = columns [ columnIndex ] ;
258
+ let columnSpec = '' ;
255
259
256
260
if ( typeof column === 'object' && column . name ) {
257
261
columnSpec = util . format (
@@ -266,7 +270,7 @@ var MysqlDriver = Base.extend({
266
270
columnsList . push ( columnSpec ) ;
267
271
}
268
272
269
- var sql = util . format (
273
+ const sql = util . format (
270
274
'ALTER TABLE `%s` ADD %s INDEX `%s` (%s)' ,
271
275
tableName ,
272
276
unique ? 'UNIQUE ' : '' ,
@@ -297,23 +301,23 @@ var MysqlDriver = Base.extend({
297
301
return Promise . reject ( err ) ;
298
302
}
299
303
300
- var sql = util . format ( 'DROP INDEX `%s` ON `%s`' , indexName , tableName ) ;
304
+ const sql = util . format ( 'DROP INDEX `%s` ON `%s`' , indexName , tableName ) ;
301
305
302
306
return this . runSql ( sql ) . nodeify ( callback ) ;
303
307
} ,
304
308
305
309
renameColumn : function ( tableName , oldColumnName , newColumnName , callback ) {
306
- var self = this ;
307
- var columnTypeSql = util . format (
310
+ const self = this ;
311
+ const columnTypeSql = util . format (
308
312
"SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '%s' AND COLUMN_NAME = '%s'" ,
309
313
tableName ,
310
314
oldColumnName
311
315
) ;
312
316
313
317
return this . runSql ( columnTypeSql )
314
318
. then ( function ( result ) {
315
- var columnType = result [ 0 ] . COLUMN_TYPE ;
316
- var alterSql = util . format (
319
+ const columnType = result [ 0 ] . COLUMN_TYPE ;
320
+ const alterSql = util . format (
317
321
'ALTER TABLE `%s` CHANGE `%s` `%s` %s' ,
318
322
tableName ,
319
323
oldColumnName ,
@@ -327,15 +331,15 @@ var MysqlDriver = Base.extend({
327
331
} ,
328
332
329
333
changeColumn : function ( tableName , columnName , columnSpec , callback ) {
330
- var constraint = this . createColumnDef ( columnName , columnSpec ) ;
331
- var sql = util . format (
334
+ const constraint = this . createColumnDef ( columnName , columnSpec ) ;
335
+ const sql = util . format (
332
336
'ALTER TABLE `%s` CHANGE COLUMN `%s` %s' ,
333
337
tableName ,
334
338
columnName ,
335
339
constraint . constraints
336
340
) ;
337
341
338
- var exec = function ( ) {
342
+ const exec = function ( ) {
339
343
return this . runSql ( sql ) . then ( function ( ) {
340
344
if ( constraint . foreignKey ) return constraint . foreignKey ( ) ;
341
345
else return Promise . resolve ( ) ;
@@ -352,7 +356,7 @@ var MysqlDriver = Base.extend({
352
356
} ,
353
357
354
358
addMigrationRecord : function ( name , callback ) {
355
- var formattedDate = moment ( new Date ( ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
359
+ const formattedDate = moment ( new Date ( ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
356
360
this . runSql (
357
361
'INSERT INTO `' +
358
362
internals . migrationTable +
@@ -363,7 +367,7 @@ var MysqlDriver = Base.extend({
363
367
} ,
364
368
365
369
addSeedRecord : function ( name , callback ) {
366
- var formattedDate = moment ( new Date ( ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
370
+ const formattedDate = moment ( new Date ( ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
367
371
this . runSql (
368
372
'INSERT INTO `' +
369
373
internals . seedTable +
@@ -385,11 +389,11 @@ var MysqlDriver = Base.extend({
385
389
callback = rules ;
386
390
rules = { } ;
387
391
}
388
- var columns = Object . keys ( fieldMapping ) ;
389
- var referencedColumns = columns . map ( function ( key ) {
392
+ const columns = Object . keys ( fieldMapping ) ;
393
+ const referencedColumns = columns . map ( function ( key ) {
390
394
return fieldMapping [ key ] ;
391
395
} ) ;
392
- var sql = util . format (
396
+ const sql = util . format (
393
397
'ALTER TABLE `%s` ADD CONSTRAINT `%s` FOREIGN KEY (%s) REFERENCES `%s` (%s) ON DELETE %s ON UPDATE %s' ,
394
398
tableName ,
395
399
keyName ,
@@ -404,7 +408,7 @@ var MysqlDriver = Base.extend({
404
408
} ,
405
409
406
410
removeForeignKey : function ( tableName , keyName , options , callback ) {
407
- var sql = util . format (
411
+ let sql = util . format (
408
412
'ALTER TABLE `%s` DROP FOREIGN KEY `%s`' ,
409
413
tableName ,
410
414
keyName
@@ -433,10 +437,10 @@ var MysqlDriver = Base.extend({
433
437
} ,
434
438
435
439
runSql : function ( ) {
436
- var self = this ;
437
- var args = this . _makeParamArgs ( arguments ) ;
440
+ const self = this ;
441
+ const args = this . _makeParamArgs ( arguments ) ;
438
442
439
- var callback = args . pop ( ) ;
443
+ const callback = args . pop ( ) ;
440
444
log . sql . apply ( null , arguments ) ;
441
445
if ( internals . dryRun ) {
442
446
return Promise . resolve ( ) . nodeify ( callback ) ;
@@ -452,9 +456,9 @@ var MysqlDriver = Base.extend({
452
456
} ,
453
457
454
458
_makeParamArgs : function ( args ) {
455
- var params = Array . prototype . slice . call ( args ) ;
456
- var sql = params . shift ( ) ;
457
- var callback =
459
+ let params = Array . prototype . slice . call ( args ) ;
460
+ const sql = params . shift ( ) ;
461
+ const callback =
458
462
typeof params [ params . length - 1 ] === 'function' ? params . pop ( ) : null ;
459
463
460
464
if ( params . length > 0 && Array . isArray ( params [ 0 ] ) ) {
@@ -464,7 +468,7 @@ var MysqlDriver = Base.extend({
464
468
} ,
465
469
466
470
all : function ( ) {
467
- var args = this . _makeParamArgs ( arguments ) ;
471
+ const args = this . _makeParamArgs ( arguments ) ;
468
472
469
473
log . sql . apply ( null , arguments ) ;
470
474
@@ -474,7 +478,7 @@ var MysqlDriver = Base.extend({
474
478
close : function ( callback ) {
475
479
return new Promise (
476
480
function ( resolve , reject ) {
477
- var cb = function ( err , data ) {
481
+ const cb = function ( err , data ) {
478
482
return err ? reject ( err ) : resolve ( data ) ;
479
483
} ;
480
484
@@ -491,7 +495,7 @@ function dummy () {
491
495
}
492
496
493
497
exports . connect = function ( config , intern , callback ) {
494
- var db ;
498
+ let db ;
495
499
496
500
internals = intern ;
497
501
log = internals . mod . log ;
@@ -500,9 +504,9 @@ exports.connect = function (config, intern, callback) {
500
504
internals . interfaces . SeederInterface . _makeParamArgs = dummy ;
501
505
502
506
if ( typeof mysql . createConnection === 'undefined' ) {
503
- db = config . db || new mysql . createClient ( config ) ;
507
+ db = config . db || mysql . createClient ( config ) ;
504
508
} else {
505
- db = config . db || new mysql . createConnection ( config ) ;
509
+ db = config . db || mysql . createConnection ( config ) ;
506
510
}
507
511
508
512
db . connect ( function ( err ) {
0 commit comments