Also return sql.DB to be able to use goose
This commit is contained in:
parent
a3df95a700
commit
4011f3cace
@ -18,12 +18,12 @@ func main() {
|
||||
|
||||
bv := &bcrypt.Verifier{}
|
||||
|
||||
db, err := postgres.Connect(cfg.DatabaseHost, cfg.DatabaseUser, cfg.DatabasePassword, cfg.DatabaseName)
|
||||
q, db, err := postgres.Connect(cfg.DatabaseHost, cfg.DatabaseUser, cfg.DatabasePassword, cfg.DatabaseName)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed connecting to DB: %v", err)
|
||||
}
|
||||
|
||||
us, err := postgres.NewRepository(db)
|
||||
us, err := postgres.NewRepository(q, db)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed building Repository: %v", err)
|
||||
}
|
||||
|
@ -15,29 +15,24 @@ import (
|
||||
var migrations embed.FS
|
||||
|
||||
// Connect to a database
|
||||
func Connect(server string, user string, password string, database string) (*Queries, error) {
|
||||
func Connect(server string, user string, password string, database string) (*Queries, *sql.DB, error) {
|
||||
connString := fmt.Sprintf("postgres://%s:%s@%s/%s", user, password, server, database)
|
||||
conn, err := sql.Open("pgx", connString)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
goose.SetBaseFS(migrations)
|
||||
if err = goose.Up(conn, "schema"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = conn.Close()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
connPG, err := pgx.Connect(context.Background(), connString)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
return New(connPG), nil
|
||||
return New(connPG), conn, nil
|
||||
}
|
||||
|
||||
func (tx Transaction) GetAmount() float64 {
|
||||
|
@ -1,13 +1,17 @@
|
||||
package postgres
|
||||
|
||||
import "database/sql"
|
||||
|
||||
// Repository represents a PostgreSQL implementation of all ModelServices
|
||||
type Repository struct {
|
||||
DB *Queries
|
||||
DB *Queries
|
||||
LegacyDB *sql.DB
|
||||
}
|
||||
|
||||
func NewRepository(queries *Queries) (*Repository, error) {
|
||||
func NewRepository(queries *Queries, db *sql.DB) (*Repository, error) {
|
||||
repo := &Repository{
|
||||
DB: queries,
|
||||
DB: queries,
|
||||
LegacyDB: db,
|
||||
}
|
||||
return repo, nil
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user