Skip to content

Commit

Permalink
Add DB.String
Browse files Browse the repository at this point in the history
  • Loading branch information
vmihailenco committed Jul 19, 2021
1 parent f452bc9 commit 49a44c4
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 4 deletions.
13 changes: 13 additions & 0 deletions db.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"reflect"
"strings"
"sync/atomic"

"github.com/uptrace/bun/dialect/feature"
Expand Down Expand Up @@ -60,6 +61,18 @@ func NewDB(sqldb *sql.DB, dialect schema.Dialect, opts ...DBOption) *DB {
return db
}

func (db *DB) String() string {
var b strings.Builder
b.WriteString("DB<dialect=")
b.WriteString(db.dialect.Name().String())
if s := db.fmter.String(); s != "" {
b.WriteString(" ")
b.WriteString(s)
}
b.WriteString(">")
return b.String()
}

func (db *DB) DBStats() DBStats {
return DBStats{
Queries: atomic.LoadUint64(&db.stats.Queries),
Expand Down
2 changes: 1 addition & 1 deletion example/migrate/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ func newDBCommand(migrator *migrate.Migrator) *cli.Command {
},
{
Name: "create_sql",
Usage: "create SQL migration",
Usage: "create up and down SQL migrations",
Action: func(c *cli.Context) error {
name := strings.Join(c.Args().Slice(), "_")
files, err := migrator.CreateSQLMigrations(c.Context, name)
Expand Down
8 changes: 6 additions & 2 deletions internal/dbtest/db_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ func pg(tb testing.TB) *bun.DB {
assert.NoError(tb, sqldb.Close())
})

return bun.NewDB(sqldb, pgdialect.New())
db := bun.NewDB(sqldb, pgdialect.New())
require.Equal(tb, "DB<dialect=pg>", db.String())
return db
}

func mysql(tb testing.TB) *bun.DB {
Expand Down Expand Up @@ -70,7 +72,9 @@ func sqlite(tb testing.TB) *bun.DB {
sqldb.SetMaxIdleConns(1000)
sqldb.SetConnMaxLifetime(0)

return bun.NewDB(sqldb, sqlitedialect.New())
db := bun.NewDB(sqldb, sqlitedialect.New())
require.Equal(tb, "DB<dialect=sqlite>", db.String())
return db
}

func testEachDB(t *testing.T, f func(t *testing.T, db *bun.DB)) {
Expand Down
2 changes: 1 addition & 1 deletion schema/formatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func (f Formatter) String() string {
for i, arg := range f.namedArgs {
ss[i] = fmt.Sprintf("%s=%v", arg.name, arg.value)
}
return " " + strings.Join(ss, " ")
return strings.Join(ss, " ")
}

func (f Formatter) IsNop() bool {
Expand Down

0 comments on commit 49a44c4

Please sign in to comment.