6
6
var fs = require ( 'fs' ) ;
7
7
var path = require ( 'path' ) ;
8
8
var _ = require ( 'lodash' ) ;
9
+ var mysql = require ( 'mysql' ) ;
10
+ var Promise = require ( "bluebird" ) ;
9
11
var yargs = require ( 'yargs' )
10
12
. usage ( 'Usage: $0 <command> [options]' )
11
13
. command ( 'init' , '初始化数据库' )
12
- . example ( '$0 init --dbname codepush --dbhost localhost --dbuser root --dbpassword 123456' , '初始化code-push-server数据库' )
14
+ . example ( '$0 init --dbname codepush --dbhost localhost --dbuser root --dbpassword 123456 --dbport 3306 --force ' , '初始化code-push-server数据库' )
13
15
. default ( { dbname : 'codepush' , dbhost : 'localhost' , dbuser : 'root' , dbpassword : null } )
14
16
. help ( 'h' )
15
17
. alias ( 'h' , 'help' ) ;
16
- var argv = yargs
17
- . argv ;
18
+ var argv = yargs . argv ;
18
19
var command = argv . _ [ 0 ] ;
19
- var mysql = require ( 'mysql' ) ;
20
- var Promise = require ( "bluebird" ) ;
21
20
var dbname = argv . dbname ? argv . dbname : 'codepush' ;
22
21
var dbhost = argv . dbhost ? argv . dbhost : 'localhost' ;
23
22
var dbuser = argv . dbuser ? argv . dbuser : 'root' ;
23
+ var dbport = argv . dbport ? argv . dbport : 3306 ;
24
24
var dbpassword = _ . isString ( argv . dbpassword ) ? argv . dbpassword : null ;
25
25
if ( command === 'init' ) {
26
26
var connection2 ;
27
27
var connection = mysql . createConnection ( {
28
28
host : dbhost ,
29
29
user : dbuser ,
30
- password : dbpassword
30
+ password : dbpassword ,
31
+ port : dbport
31
32
} ) ;
33
+ var createDatabaseSql = argv . force ? `CREATE DATABASE if not exists ${ dbname } ` :
34
+ `CREATE DATABASE ${ dbname } ` ;
32
35
Promise . promisifyAll ( connection ) ;
33
36
connection . connect ( ) ;
34
- connection . queryAsync ( `CREATE DATABASE ${ dbname } ` )
37
+ connection . queryAsync ( createDatabaseSql )
35
38
. then ( function ( ) {
36
39
connection2 = mysql . createConnection ( {
37
40
host : dbhost ,
38
41
user : dbuser ,
39
42
password : dbpassword ,
40
43
database : dbname ,
41
- multipleStatements : true
44
+ multipleStatements : true ,
45
+ port : dbport
42
46
} ) ;
43
47
connection2 . connect ( ) ;
44
48
Promise . promisifyAll ( connection2 ) ;
@@ -68,4 +72,4 @@ if (command === 'init') {
68
72
} ) ;
69
73
} else {
70
74
yargs . showHelp ( ) ;
71
- }
75
+ }
0 commit comments