package services import ( "database/sql" "fmt" "os" "github.com/astaxie/beego/orm" ) var dbs map[string]*sql.DB // InitCompanyService Init companydb service and open system db connection func InitCompanyService() { fmt.Println("Hello from init") // test if init gets called from each orm dbs := make(map[string]*sql.DB) orm.RegisterDataBase("default", "postgres", "host=127.0.0.1 port=5435 user=postgres password=postgre sslmode=disable") systemDB, err := sql.Open("postgres", "host=127.0.0.1 port=5435 user=postgres password=postgre dbname=company5 sslmode=disable") if err != nil { fmt.Println("Fatal: could not connect to db, exiting... Error:", err) os.Exit(1) } dbs["system"] = systemDB } // GetDatabase Get orm and user information func GetDatabase(token string) { // validate token // retrieve correct user/database // check if open first // try to open second // return error otherwise // return db with orm or error } // CreateDatabase Create a database by copying the template func CreateDatabase(token string) { /* db, err = sql.Open("postgres", "host=127.0.0.1 port=5435 user=postgres password=postgre dbname=company5 sslmode=disable") if err != nil { log.Fatal(err) } or, err := orm.NewOrmWithDB("postgres", "temp", db) */ } // DeleteDatabase Delete an entire database, this is very very dangerous :-) func DeleteDatabase(token string) { /* db.Close() fmt.Println("Closed company5") //} res, err := o.Raw("DROP DATABASE company5;").Exec() if err == nil { num, _ := res.RowsAffected() fmt.Println("mysql row affected number: ", num) } */ }