github.com/condensat/bank-core@v0.1.0/database/options.go (about) 1 // Copyright 2020 Condensat Tech. All rights reserved. 2 // Use of this source code is governed by a MIT 3 // license that can be found in the LICENSE file. 4 5 package database 6 7 import ( 8 "flag" 9 ) 10 11 type Options struct { 12 HostName string 13 Port int 14 User string 15 Password string 16 Database string 17 EnableLogging bool 18 } 19 20 func DefaultOptions() Options { 21 return Options{ 22 HostName: "db", 23 Port: 3306, 24 User: "condensat", 25 Password: "condensat", 26 Database: "condensat", 27 EnableLogging: false, 28 } 29 } 30 31 func OptionArgs(args *Options) { 32 if args == nil { 33 panic("Invalid database args") 34 } 35 36 defaults := DefaultOptions() 37 flag.StringVar(&args.HostName, "dbHost", defaults.HostName, "Database hostName (default 'db')") 38 flag.IntVar(&args.Port, "dbPort", defaults.Port, "Database port (default 3306)") 39 flag.StringVar(&args.User, "dbUser", defaults.User, "Database user (condensat)") 40 flag.StringVar(&args.Password, "dbPassword", defaults.Password, "Database user (condensat)") 41 flag.StringVar(&args.Database, "dbName", defaults.Database, "Database name (condensat)") 42 flag.BoolVar(&args.EnableLogging, "enableLogging", defaults.EnableLogging, "Enable database logging (false") 43 }