| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package initialize
- import (
- "datebase_test/internal/pkg/configs"
- "fmt"
- "github.com/go-redis/redis"
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- )
- //数据库初始化
- func InitMysql(config *configs.Config)(*gorm.DB, error){
- dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=True&loc=Local",
- config.Mysql.Username,
- config.Mysql.Password,
- config.Mysql.Host,
- config.Mysql.Port,
- config.Mysql.Database,
- config.Mysql.Charset)
- db, err := newMysqlDB(dsn)
- if err != nil {
- return nil,err
- }
- return db,nil
- }
- func InitRedisClient(config *configs.Config) *redis.Client {
- return redis.NewClient(&redis.Options{
- Addr: config.Redis.Host, // use default Addr
- Password: config.Redis.Password, // no password set
- DB: int(config.Redis.Db), // use default DB
- })
- }
- func newMysqlDB(dsn string) (*gorm.DB, error) {
- return gorm.Open(mysql.Open(dsn), &gorm.Config{})
- }
|