Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var (
- db *gorm.DB
- Config DBConfigurator
- getDBOnce sync.Once
- )
- func dbConnection() string {
- usernameAndPassword := Config.GetUsername()
- if Config.GetPassword() != "" {
- usernameAndPassword += ":" + Config.GetPassword()
- }
- if util.IsDevAppServer() {
- return fmt.Sprintf("%v@unix(%v)/%v?charset=utf8mb4&parseTime=True", usernameAndPassword, Config.GetHost(), Config.GetSchema())
- } else {
- //this is live setup
- return fmt.Sprintf("%v@cloudsql(%v:%v)/%v?charset=utf8mb4&parseTime=True", usernameAndPassword, Config.GetProjectId(), Config.GetInstanceName(), Config.GetSchema())
- }
- }
- func DB() *gorm.DB {
- getDBOnce.Do(func() {
- var err error
- db, err = gorm.Open("mysql", dbConnection())
- if err != nil {
- panic("error opening DB " + err.Error())
- }
- err = db.DB().Ping()
- if err != nil {
- panic("unable to ping DB " + err.Error())
- }
- })
- return db
- }
- database.DB().Where("username = ?", "sp").First(&user)
- database.DB().Where("username = ?", "sp").Find(&user)
Add Comment
Please, Sign In to add comment