Home > Software engineering >  How to get dynamic app conf in golang revel
How to get dynamic app conf in golang revel

Time:10-13

I have project that use golang-revel and in my project, i need to connect to 2 databases. Currently, i can migrate the database one by one, but if this project is getting bigger i need to be able to migrate all databases. Is there any way that i can get the database name dynamically in the app.conf ?

# Settings for database used in GORM Framework
db.automigrate = false
db.driver      = mysql
db.username    = root
db.password    =
db.dbname      = root_database
db.dbname.otherdatabase = other_database_name
db.companies       = other_companies
db.charset     = utf8
db.parseTime   = True
db.loc         =
db.log = true

i can migrate by getting db.dbname with Dbname = r.Config.StringDefault("db.dbname", "")

But how can i get db.dbname.otherdatabase or more database dynamically, so that it can grab all database in the future ?

CodePudding user response:

You need to store all the names in one variable with separator, for simplicity, just use comma

db.names = db1,db2,db3,db4

Then use Split function by ,

temp_db := strings.Split(r.Config.StringDefault("db.names", ""), ",")

see here for r.Config.StringDefault function

  • Related