loading driver and connStr from json if there is no commandline options specified

This commit is contained in:
ZhengYang 2014-08-13 14:34:12 +08:00
parent 4775fc3e81
commit 64f3acca26
3 changed files with 27 additions and 4 deletions

View File

@ -13,5 +13,9 @@
"others": []
},
"cmd_args": [],
"envs": []
"envs": [],
"database": {
"driver": "mysql",
"conn": "root:@tcp(127.0.0.1:3306)/test"
}
}

10
conf.go
View File

@ -36,7 +36,11 @@ var defaultConf = `{
"others": []
},
"cmd_args": [],
"envs": []
"envs": [],
"database": {
"driver": "mysql",
"conn": "root:@tcp(127.0.0.1:3306)/test"
}
}
`
var conf struct {
@ -62,6 +66,10 @@ var conf struct {
Dirs []string
IngExt []string `json:"ignore_ext"`
}
Database struct {
Driver string
Conn string
}
}
// loadConfig loads customized configuration.

View File

@ -70,15 +70,26 @@ func runMigration(cmd *Command, args []string) {
ColorLog("[HINT] Set $GOPATH in your environment vairables\n")
os.Exit(2)
}
// load config
err := loadConfig()
if err != nil {
ColorLog("[ERRO] Fail to parse bee.json[ %s ]\n", err)
}
// getting command line arguments
if len(args) != 0 {
cmd.Flag.Parse(args[1:])
}
if mDriver == "" {
mDriver = "mysql"
mDriver = docValue(conf.Database.Driver)
if mDriver == "" {
mDriver = "mysql"
}
}
if mConn == "" {
mConn = "root:@tcp(127.0.0.1:3306)/test"
mConn = docValue(conf.Database.Conn)
if mConn == "" {
mConn = "root:@tcp(127.0.0.1:3306)/test"
}
}
ColorLog("[INFO] Using '%s' as 'driver'\n", mDriver)
ColorLog("[INFO] Using '%s' as 'conn'\n", mConn)