/
iezhelev
/
cppsh_micro
Обзор
Документация
Войти
/
iezhelev
/
cppsh_micro
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
mayor-refactor
internal/database/db.go
46 строк
1 KB
iezhelev
major refactor
05 сен 2025, 16:59
05 сен 2025, 16:59
494658e
Код
Авторство
О чём код?
package database import ( "database/sql" _ "github.com/lib/pq" // PostgreSQL driver ) // PostgresDB wraps the SQL DB connection type PostgresDB struct { db *sql.DB } // NewPostgresDB creates a new PostgresDB instance func NewPostgresDB(dataSourceName string) (*PostgresDB, error) { db, err := sql.Open("postgres", dataSourceName) if err != nil { return nil, err } if err = db.Ping(); err != nil { return nil, err } return &PostgresDB{db: db}, nil } // ExecuteCommand runs an INSERT, UPDATE, DELETE, etc. func (pg *PostgresDB) ExecuteCommand(query string, args ...interface{}) error { _, err := pg.db.Exec(query, args...) return err } // ExecuteQuery runs a SELECT and returns a string result (e.g., first column of first row) func (pg *PostgresDB) ExecuteQuery(query string, args ...interface{}) (string, error) { var result string err := pg.db.QueryRow(query, args...).Scan(&result) if err != nil { return "", err } return result, nil } // Close closes the database connection func (pg *PostgresDB) Close() error { return pg.db.Close() }