From ce3111b0efe91e275ce070f9511b5b1b9801a46d Mon Sep 17 00:00:00 2001 From: Alexander NeonXP Kiryukhin Date: Sun, 21 Jul 2024 19:26:56 +0300 Subject: Множество улучшений MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/db.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 db/db.go (limited to 'db/db.go') diff --git a/db/db.go b/db/db.go new file mode 100644 index 0000000..5241cd1 --- /dev/null +++ b/db/db.go @@ -0,0 +1,34 @@ +package db + +import ( + "context" + "database/sql" + "fmt" + "log/slog" + + "github.com/uptrace/bun" + "github.com/uptrace/bun/dialect/sqlitedialect" +) + +func GetDB(dbFile string) (*bun.DB, error) { + db, err := sql.Open("sqlite3", dbFile) + if err != nil { + return nil, fmt.Errorf("open db failed: %w", err) + } + + orm := bun.NewDB(db, sqlitedialect.New()) + orm.AddQueryHook(&queryHook{}) + + return orm, nil +} + +type queryHook struct { +} + +func (*queryHook) BeforeQuery(ctx context.Context, qe *bun.QueryEvent) context.Context { + return ctx +} + +func (*queryHook) AfterQuery(ctx context.Context, qe *bun.QueryEvent) { + slog.Debug("query", slog.String("query", qe.Query)) +} -- cgit v1.2.3