1234567891011121314151617181920212223242526272829303132333435 |
- package common
- import (
- "fmt"
- "github.com/spf13/viper"
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- "log"
- "net/url"
- )
- var DB *gorm.DB
- func InitDB() *gorm.DB {
- host := viper.GetString("datasource.host")
- port := viper.GetString("datasource.port")
- database := viper.GetString("datasource.database")
- username := viper.GetString("datasource.username")
- password := viper.GetString("datasource.password")
- charset := viper.GetString("datasource.charset")
- loc := viper.GetString("datasource.loc")
- args := fmt.Sprintf("%s:%s@(%s:%s)/%s?charset=%s&parseTime=true&loc=%s",
- username, password, host, port, database, charset, url.QueryEscape(loc))
- db, err := gorm.Open(mysql.Open(args), &gorm.Config{})
- if err != nil {
- log.Println("初始化数据库失败")
- }
- DB = db
- return db
- }
- func GetDB() *gorm.DB {
- return DB
- }
|