Documentation
¶
Overview ¶
Package db provides database connection management.
Index ¶
- func NewDatabase(cfg config.DatabaseConfig, logOutput io.Writer) (*gorm.DB, error)
- func NewDialector(cfg config.DatabaseConfig) (gorm.Dialector, error)
- func NewMongoDB(ctx context.Context, cfg config.MongoConfig) (*mongo.Database, error)
- func NewRedis(cfg config.RedisConfig) *redis.Client
- type KafkaConfig
- type Manager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDatabase ¶ added in v0.0.4
NewDatabase creates a database connection with connection pooling. logOutput is the writer for SQL logs (use io.Discard to suppress).
func NewDialector ¶ added in v0.0.4
func NewDialector(cfg config.DatabaseConfig) (gorm.Dialector, error)
NewDialector creates a GORM dialector based on the driver type.
func NewMongoDB ¶
NewMongoDB creates a MongoDB connection. ctx is used for connection timeout.
Types ¶
type KafkaConfig ¶
type KafkaConfig struct {
config.KafkaConfig
ClientID string `json:"client_id" yaml:"client_id" toml:"client_id"`
}
KafkaConfig extends the base config for Kafka.
type Manager ¶
type Manager struct {
DB *gorm.DB // Generic database connection (MySQL/PostgreSQL)
Redis *redis.Client
MongoDB *mongo.Database
Config *config.BaseConfig
}
Manager manages all database connections.
func NewManager ¶
NewManager creates a new database manager. ctx is used for connection timeouts during initialization.
func (*Manager) DBWithContext ¶ added in v0.0.4
DBWithContext returns the database connection with context.
Click to show internal directories.
Click to hide internal directories.