initialize.go 899 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package initialize
  2. import (
  3. "datebase_test/internal/pkg/configs"
  4. "fmt"
  5. "github.com/go-redis/redis"
  6. "gorm.io/driver/mysql"
  7. "gorm.io/gorm"
  8. )
  9. //数据库初始化
  10. func InitMysql(config *configs.Config)(*gorm.DB, error){
  11. dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=True&loc=Local",
  12. config.Mysql.Username,
  13. config.Mysql.Password,
  14. config.Mysql.Host,
  15. config.Mysql.Port,
  16. config.Mysql.Database,
  17. config.Mysql.Charset)
  18. db, err := newMysqlDB(dsn)
  19. if err != nil {
  20. return nil,err
  21. }
  22. return db,nil
  23. }
  24. func InitRedisClient(config *configs.Config) *redis.Client {
  25. return redis.NewClient(&redis.Options{
  26. Addr: config.Redis.Host, // use default Addr
  27. Password: config.Redis.Password, // no password set
  28. DB: int(config.Redis.Db), // use default DB
  29. })
  30. }
  31. func newMysqlDB(dsn string) (*gorm.DB, error) {
  32. return gorm.Open(mysql.Open(dsn), &gorm.Config{})
  33. }