pet-house/core/server/database/cmd.go

111 lines
2.5 KiB
Go

package database
import (
"fmt"
"strconv"
"strings"
)
// Init initialize mysql config file
func Init() error {
var cover string
if IsExist() {
fmt.Println("Your database config is initialized , reinitialized database will cover your database config.")
fmt.Println("Did you want to do it ? [Y/N]")
fmt.Scanln(&cover)
switch strings.ToUpper(cover) {
case "Y":
case "N":
return nil
default:
}
}
err := Remove()
if err != nil {
return err
}
err = initConfig()
if err != nil {
return err
}
fmt.Println("mysql initialized finished!")
return nil
}
func initConfig() error {
var dbIp, dbPort, dbName, dbUsername, dbPwd, dbLogZap, dbLogMod string
var maxIdleConns, maxOpenConns int
fmt.Println("Please input your database Ip: ")
fmt.Printf("Database path default is '%s'\n", CONFIG.Ip)
fmt.Scanln(&dbIp)
if dbIp != "" {
CONFIG.Ip = dbIp
}
fmt.Println("Please input your database Port: ")
fmt.Printf("Database path default is '%s'\n", strconv.Itoa(CONFIG.Port))
fmt.Scanln(&dbPort)
if dbPort != "" {
CONFIG.Port, _ = strconv.Atoi(dbPort)
}
fmt.Println("Please input your database db-name: ")
fmt.Printf("Database db-name default is '%s'\n", CONFIG.DbName)
fmt.Scanln(&dbName)
if dbName != "" {
CONFIG.DbName = dbName
}
fmt.Println("Please input your database username: ")
fmt.Printf("Database username default is '%s'\n", CONFIG.Username)
fmt.Scanln(&dbUsername)
if dbUsername != "" {
CONFIG.Username = dbUsername
}
fmt.Println("Please input your database password: ")
fmt.Printf("Database password default is '%s'\n", CONFIG.Password)
fmt.Scanln(&dbPwd)
if dbPwd != "" {
CONFIG.Password = dbPwd
}
fmt.Println("Please input your database log zap: ")
fmt.Printf("Database log zap default is '%s'\n", CONFIG.LogZap)
fmt.Scanln(&dbLogZap)
if dbLogZap != "" {
CONFIG.LogZap = dbLogZap
}
fmt.Println("Please input your database log mode: [Y/N]")
fmt.Println("Database log mode default is N")
fmt.Scanln(&dbLogMod)
switch strings.ToUpper(dbLogMod) {
case "Y":
CONFIG.LogMode = true
case "N":
CONFIG.LogMode = false
default:
CONFIG.LogMode = false
}
fmt.Println("Please input your database max idle conns: ")
fmt.Scanln(&maxIdleConns)
if maxIdleConns > 0 {
CONFIG.MaxIdleConns = maxIdleConns
}
fmt.Println("Please input your database max open conns: ")
fmt.Scanln(&maxOpenConns)
if maxOpenConns > 0 {
CONFIG.MaxOpenConns = maxOpenConns
}
if Instance() == nil {
return ErrDatabaseInit
}
return nil
}