소스 검색

refactor(repository): 移除未使用的第二个数据库连接

- 删除了 Repository 结构中的 dbSecond 字段
- 移除了 NewRepository函数中初始化 dbSecond 的相关代码
- 删除了未使用的 DBSecond 方法
- 移除了 wire 文件中对 NewDBSecond 的引用
fusu 1 개월 전
부모
커밋
c426d8d072
3개의 변경된 파일6개의 추가작업 그리고 95개의 파일을 삭제
  1. 0 1
      cmd/server/wire/wire.go
  2. 0 1
      cmd/task/wire/wire.go
  3. 6 93
      internal/repository/repository.go

+ 0 - 1
cmd/server/wire/wire.go

@@ -22,7 +22,6 @@ import (
 
 var repositorySet = wire.NewSet(
 	repository.NewDB,
-	//repository.NewDBSecond,
 	//repository.NewRedis,
 	repository.NewMongoClient,
 	repository.NewMongoDB,

+ 0 - 1
cmd/task/wire/wire.go

@@ -18,7 +18,6 @@ import (
 
 var repositorySet = wire.NewSet(
 	repository.NewDB,
-	repository.NewDBSecond,
 	//repository.NewRedis,
 	repository.NewMongoClient,
 	repository.NewMongoDB,

+ 6 - 93
internal/repository/repository.go

@@ -19,8 +19,7 @@ import (
 const ctxTxKey = "TxKey"
 
 type Repository struct {
-	db *gorm.DB         // 主数据库连接
-	//dbSecond *gorm.DB   // 第二个数据库连接
+	db *gorm.DB
 	//rdb    *redis.Client
 	mongoClient *qmgo.Client
 	mongoDB     *qmgo.Database
@@ -30,14 +29,12 @@ type Repository struct {
 func NewRepository(
 	logger *log.Logger,
 	db *gorm.DB,
-	//dbSecond *gorm.DB,
-	// rdb *redis.Client,
+// rdb *redis.Client,
 	mongoClient *qmgo.Client,
 	mongoDB *qmgo.Database,
 ) *Repository {
 	return &Repository{
 		db: db,
-		//dbSecond: dbSecond,
 		//rdb:    rdb,
 		mongoClient: mongoClient,
 		mongoDB: mongoDB,
@@ -65,12 +62,6 @@ func (r *Repository) DB(ctx context.Context) *gorm.DB {
 	return r.db.WithContext(ctx)
 }
 
-// DBSecond returns the second database connection
-// Note: Transactions are currently only supported on the primary database
-//func (r *Repository) DBSecond(ctx context.Context) *gorm.DB {
-//	return r.dbSecond.WithContext(ctx)
-//}
-
 func (r *Repository) Transaction(ctx context.Context, fn func(ctx context.Context) error) error {
 	return r.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {
 		ctx = context.WithValue(ctx, ctxTxKey, tx)
@@ -148,84 +139,6 @@ func NewDB(conf *viper.Viper, l *log.Logger) *gorm.DB {
 	return db
 }
 
-// NewDBSecond 初始化第二个数据库连接
-func NewDBSecond(conf *viper.Viper, l *log.Logger) *gorm.DB {
-	var (
-		db  *gorm.DB
-		err error
-	)
-
-	// 从second配置项读取第二个数据库配置
-	driver := conf.GetString("data.db.second.driver")
-	dsn := conf.GetString("data.db.second.dsn")
-
-	// 如果第二个数据库没有配置,返回nil
-	if dsn == "" {
-		l.Warn("第二个数据库配置不存在或DSN为空")
-		return nil
-	}
-
-	// 读取日志级别配置
-	logLevelStr := conf.GetString("data.db.second.logLevel")
-	var logLevel gormlogger.LogLevel
-
-	switch logLevelStr {
-	case "silent":
-		logLevel = gormlogger.Silent
-	case "error":
-		logLevel = gormlogger.Error
-	case "warn":
-		logLevel = gormlogger.Warn
-	case "info":
-		logLevel = gormlogger.Info
-	default:
-		// MySQL 默认只记录警告和错误
-		if driver == "mysql" {
-			logLevel = gormlogger.Warn
-		} else {
-			logLevel = gormlogger.Info
-		}
-	}
-
-	logger := zapgorm2.New(l.Logger).LogMode(logLevel)
-
-	// 初始化第二个数据库连接
-	switch driver {
-	case "mysql":
-		db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
-			Logger: logger,
-		})
-	case "postgres":
-		db, err = gorm.Open(postgres.New(postgres.Config{
-			DSN:                  dsn,
-			PreferSimpleProtocol: true,
-		}), &gorm.Config{
-			Logger: logger,
-		})
-	case "sqlite":
-		db, err = gorm.Open(sqlite.Open(dsn), &gorm.Config{
-			Logger: logger,
-		})
-	default:
-		panic("unknown db driver for second database")
-	}
-
-	if err != nil {
-		panic("连接第二个数据库失败: " + err.Error())
-	}
-
-	// 配置连接池
-	sqlDB, err := db.DB()
-	if err != nil {
-		panic(err)
-	}
-	sqlDB.SetMaxIdleConns(10)
-	sqlDB.SetMaxOpenConns(100)
-	sqlDB.SetConnMaxLifetime(time.Hour)
-
-	return db
-}
-
 func NewRedis(conf *viper.Viper) *redis.Client {
 	rdb := redis.NewClient(&redis.Options{
 		Addr:     conf.GetString("data.redis.addr"),
@@ -249,12 +162,12 @@ func NewMongoClient(conf *viper.Viper) *qmgo.Client {
 	if timeout == 0 {
 		timeout = 10 * time.Second
 	}
-	
+
 	maxPoolSize := conf.GetUint64("data.mongodb.max_pool_size")
-	
+
 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 	defer cancel()
-	
+
 	// 创建连接配置
 	clientOpts := &qmgo.Config{
 		Uri:         conf.GetString("data.mongodb.uri"),
@@ -275,6 +188,6 @@ func NewMongoDB(client *qmgo.Client, conf *viper.Viper) *qmgo.Database {
 	if databaseName == "" {
 		panic("MongoDB数据库名不能为空")
 	}
-	
+
 	return client.Database(databaseName)
 }