database.go 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. package config
  2. import "github.com/runningwater/gohub/pkg/config"
  3. func init() {
  4. config.Add("database", func() map[string]any {
  5. return map[string]any{
  6. // 默认数据库
  7. "connection": config.Env("DB_CONNECTION", "mysql"),
  8. // MySQL 配置
  9. "mysql": map[string]any{
  10. // 数据库连接信息,可以使用 DSN 格式
  11. "host": config.Env("DB_HOST", "127.0.0.1"),
  12. "port": config.Env("DB_PORT", "3306"),
  13. "database": config.Env("DB_DATABASE", "gohub"),
  14. "username": config.Env("DB_USERNAME", "root"),
  15. "password": config.Env("DB_PASSWORD", ""),
  16. "charset": "utf8mb4",
  17. // 数据库连接池配置
  18. "max_idle_connections": config.Env("DB_MAX_IDLE_CONNECTIONS", 100),
  19. "max_open_connections": config.Env("DB_MAX_OPEN_CONNECTIONS", 25),
  20. // 连接的最大存活时间
  21. "max_life_seconds": config.Env("DB_MAX_LIFE_SECONDS", 5*60),
  22. },
  23. // SQLite 配置
  24. "sqlite": map[string]any{
  25. // 数据库文件地址
  26. "database": config.Env("DB_SQLITE_DATABASE", "database/gohub.db"),
  27. },
  28. }
  29. })
  30. }