parent
ff6de84731
commit
b886c39ac9
2 changed files with 102 additions and 62 deletions
@ -1,56 +1,87 @@ |
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
"context" |
||||
"context" |
||||
"database/sql" |
||||
"errors" |
||||
"database/sql" |
||||
"fmt" |
||||
|
||||
"github.com/uptrace/bun" |
||||
"github.com/uptrace/bun/extra/bundebug" |
||||
"github.com/uptrace/bun/dialect/pgdialect" |
||||
"github.com/uptrace/bun/driver/pgdriver" |
||||
"github.com/uptrace/bun/extra/bundebug" |
||||
) |
||||
|
||||
var feeds []Feed |
||||
var categories []Category |
||||
var entries []Entry |
||||
var users []User |
||||
var feeds []Feed |
||||
var categories []Category |
||||
var entries []Entry |
||||
var users []User |
||||
|
||||
func main() { |
||||
var err error |
||||
ctx := context.Background() |
||||
dsn := "postgres://apache:@localhost:5432/miniflux?sslmode=disable" |
||||
// dsn := "unix://user:pass@dbname/var/run/postgresql/.s.PGSQL.5432"
|
||||
sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) |
||||
db := bun.NewDB(sqldb, pgdialect.New()) |
||||
|
||||
db.AddQueryHook(bundebug.NewQueryHook( |
||||
bundebug.WithVerbose(true), |
||||
bundebug.FromEnv("BUNDEBUG"), |
||||
)) |
||||
|
||||
|
||||
// Turn these into funcs with error handling, logging, return vals etc.
|
||||
feederr := db.NewSelect().Model(&feeds).OrderExpr("title ASC").Limit(10).Scan(ctx) |
||||
|
||||
if feederr != nil { |
||||
errors.Join(feederr, err) |
||||
} |
||||
categoryerr := db.NewSelect().Model(&categories).OrderExpr("title ASC").Scan(ctx) |
||||
if categoryerr != nil { |
||||
errors.Join(categoryerr, err) |
||||
} |
||||
entryerr := db.NewSelect().Model(&entries).OrderExpr("published_at ASC").Limit(10).Scan(ctx) |
||||
if entryerr != nil { |
||||
errors.Join(entryerr, err) |
||||
} |
||||
usererr := db.NewSelect().Model(&users).OrderExpr("id ASC").Scan(ctx) |
||||
if usererr != nil { |
||||
errors.Join(usererr, err) |
||||
} |
||||
fmt.Printf("%+v\n", entries) |
||||
fmt.Printf("%+v\n", categories) |
||||
fmt.Printf("%+v\n", feeds) |
||||
fmt.Printf("%+v\n", users) |
||||
//
|
||||
var err error |
||||
ctx := context.Background() |
||||
dsn := "postgres://apache:@localhost:5432/miniflux?sslmode=disable" |
||||
// dsn := "unix://user:pass@dbname/var/run/postgresql/.s.PGSQL.5432"
|
||||
sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) |
||||
db := bun.NewDB(sqldb, pgdialect.New()) |
||||
|
||||
db.AddQueryHook(bundebug.NewQueryHook( |
||||
bundebug.WithVerbose(true), |
||||
bundebug.FromEnv("BUNDEBUG"), |
||||
)) |
||||
|
||||
// Turn these into funcs with error handling, logging, return vals etc.
|
||||
feederr := db.NewSelect(). |
||||
Model(&feeds). |
||||
OrderExpr("title ASC"). |
||||
Limit(10). |
||||
Scan(ctx) |
||||
|
||||
if feederr != nil { |
||||
errors.Join(feederr, err) |
||||
} |
||||
categoryerr := db.NewSelect(). |
||||
Model(&categories). |
||||
OrderExpr("title ASC"). |
||||
Scan(ctx) |
||||
if categoryerr != nil { |
||||
errors.Join(categoryerr, err) |
||||
} |
||||
entryerr := db.NewSelect(). |
||||
Model(&entries). |
||||
OrderExpr("published_at ASC"). |
||||
Limit(10). |
||||
Scan(ctx) |
||||
if entryerr != nil { |
||||
errors.Join(entryerr, err) |
||||
} |
||||
usererr := db.NewSelect(). |
||||
Model(&users). |
||||
OrderExpr("id ASC"). |
||||
Scan(ctx) |
||||
if usererr != nil { |
||||
errors.Join(usererr, err) |
||||
} |
||||
|
||||
fmt.Printf("[]Entry\n") |
||||
for _, val := range entries { |
||||
fmt.Printf("val = %s\n", val) |
||||
} |
||||
fmt.Printf("[]Category\n") |
||||
for _, val := range categories { |
||||
|
||||
fmt.Printf("val = %s\n", val) |
||||
} |
||||
fmt.Printf("[]Feed\n") |
||||
for _, val := range feeds { |
||||
fmt.Printf("val = %s\n", val) |
||||
} |
||||
fmt.Printf("[]User\n") |
||||
for _, val := range users { |
||||
fmt.Printf("val = %s\n", val) |
||||
} |
||||
// fmt.Printf("%+v\n", entries)
|
||||
// fmt.Printf("%+v\n", categories)
|
||||
// fmt.Printf("%+v\n", feeds)
|
||||
// fmt.Printf("%+v\n", users)
|
||||
} |
||||
|
Loading…
Reference in new issue