Add db
This commit is contained in:
29
api/internal/app/persistence/database.go
Normal file
29
api/internal/app/persistence/database.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package persistence
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"downloader/internal/app/persistence/migrations"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dialect/pgdialect"
|
||||
"github.com/uptrace/bun/driver/pgdriver"
|
||||
"github.com/uptrace/bun/extra/bundebug"
|
||||
"github.com/uptrace/bun/migrate"
|
||||
)
|
||||
|
||||
func NewPostgresDB() *bun.DB {
|
||||
dsn := "postgres://downloader:downloadersecret@localhost:5432/downloader?sslmode=disable"
|
||||
sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn)))
|
||||
|
||||
db := bun.NewDB(sqldb, pgdialect.New())
|
||||
db.AddQueryHook(bundebug.NewQueryHook(
|
||||
bundebug.WithVerbose(true),
|
||||
bundebug.FromEnv("BUNDEBUG")))
|
||||
|
||||
migrator := migrate.NewMigrator(db, migrations.Migrations)
|
||||
bgCtx := context.Background()
|
||||
migrator.Init(bgCtx)
|
||||
migrator.Migrate(bgCtx)
|
||||
|
||||
return db
|
||||
}
|
Reference in New Issue
Block a user