Documentation
¶
Index ¶
- Variables
- func MigrateDown(cfg config.Database) (err error)
- func MigrateUp(cfg config.Database) (err error)
- func MigrateVersion(cfg config.Database) (version int, err error)
- type ContentFS
- type Database
- func (d *Database) Begin() (*sql.Tx, error)
- func (d *Database) Close() error
- func (d *Database) Exec(query string, args ...any) (sql.Result, error)
- func (d *Database) Ping() error
- func (d *Database) Query(query string, args ...any) (*sql.Rows, error)
- func (d *Database) QueryRow(query string, args ...any) *sql.Row
- func (d *Database) Stats() sql.DBStats
- type DatabaseInterface
- type FS
Constants ¶
This section is empty.
Variables ¶
View Source
var New = func(cfg config.Database, log *logger.Logger) (DatabaseInterface, error) { dsn := fmt.Sprintf( "host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", cfg.Host, cfg.Port, cfg.User, cfg.Password, cfg.DBName, ) db, err := sql.Open("postgres", dsn) if err != nil { return nil, fmt.Errorf("failed to open database connection: %w", err) } db.SetMaxOpenConns(25) db.SetMaxIdleConns(25) db.SetConnMaxIdleTime(5 * time.Minute) db.SetConnMaxLifetime(2 * time.Hour) dbInstance := &Database{ db: db, logger: log, } if err = dbInstance.Ping(); err != nil { _ = dbInstance.Close() return nil, err } if log != nil { log.Info("Database connection established", nil) } return dbInstance, nil }
Functions ¶
func MigrateDown ¶
Types ¶
type DatabaseInterface ¶
Click to show internal directories.
Click to hide internal directories.