init.go 533 B

1234567891011121314151617181920212223242526
  1. package db
  2. import (
  3. "context"
  4. "fmt"
  5. "youngee_b_api/model/system_model"
  6. "gorm.io/driver/mysql"
  7. "gorm.io/gorm"
  8. )
  9. var client *gorm.DB
  10. func Init(config *system_model.Mysql) {
  11. dsn := "%v:%v@tcp(%v:%v)/%v?charset=utf8mb4&parseTime=True&loc=Local"
  12. dsn = fmt.Sprintf(dsn, config.User, config.Password, config.Host, config.Port, config.Database)
  13. db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
  14. if err != nil {
  15. panic(err)
  16. }
  17. client = db
  18. }
  19. func GetReadDB(ctx context.Context) *gorm.DB {
  20. return client.WithContext(ctx)
  21. }