package libs import ( "fmt" "os" "github.com/jinzhu/gorm" ) //MySQL 相關設定 type MySQL struct { Db *gorm.DB } //New 建構式 func (my MySQL) New() *MySQL { host := os.Getenv("MYSQL_HOST") user := os.Getenv("MYSQL_USER") password := os.Getenv("MYSQL_PASSWORD") database := os.Getenv("MYSQL_DATABASE") charset := os.Getenv("MYSQL_CHARSET") parseTime := os.Getenv("MYSQL_PARSETIME") loc := os.Getenv("MYSQL_LOC") dsn := fmt.Sprintf("%s:%s@(%s)/%s?charset=%s&parseTime=%s&loc=%s", user, password, host, database, charset, parseTime, loc) var err error my.Db, err = gorm.Open("mysql", dsn) if err != nil { panic(err) } return &my }