package db import ( "context" _ "embed" "fmt" "github.com/jackc/pgx/v5/pgxpool" ) //go:embed schema.sql var schema string func Connect(ctx context.Context, url string) (*pgxpool.Pool, error) { cfg, err := pgxpool.ParseConfig(url) if err != nil { return nil, err } cfg.MaxConns = 10 return pgxpool.NewWithConfig(ctx, cfg) } func Migrate(ctx context.Context, p *pgxpool.Pool) error { if _, err := p.Exec(ctx, schema); err != nil { return fmt.Errorf("migrate: %w", err) } return nil }