mirror of https://github.com/VinGarcia/ksql.git
Simplify readme example
parent
64ddb22a00
commit
14b1ba47d3
12
README.md
12
README.md
|
@ -72,10 +72,7 @@ type Post struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Address have a one to one relationship with User
|
// Address have a one to one relationship with User
|
||||||
//
|
var AddressesTable = ksql.NewTable("addresses", "id")
|
||||||
// Note that we are omitting the name of the ID column
|
|
||||||
// below because "id" is already the default:
|
|
||||||
var AddressesTable = ksql.NewTable("addresses")
|
|
||||||
|
|
||||||
type Address struct {
|
type Address struct {
|
||||||
ID int `ksql:"id"`
|
ID int `ksql:"id"`
|
||||||
|
@ -85,7 +82,7 @@ type Address struct {
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
dbURL, closeDB := startPostgresDB(ctx)
|
dbURL, closeDB := startExampleDB(ctx)
|
||||||
defer closeDB()
|
defer closeDB()
|
||||||
|
|
||||||
db, err := kpgx.New(ctx, dbURL, ksql.Config{})
|
db, err := kpgx.New(ctx, dbURL, ksql.Config{})
|
||||||
|
@ -94,11 +91,6 @@ func main() {
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
err = createTablesAndRecords(ctx, db)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("error creating tables: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// For querying only some attributes you can
|
// For querying only some attributes you can
|
||||||
// create a custom struct like this:
|
// create a custom struct like this:
|
||||||
var count []struct {
|
var count []struct {
|
||||||
|
|
|
@ -30,10 +30,7 @@ type Post struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Address have a one to one relationship with User
|
// Address have a one to one relationship with User
|
||||||
//
|
var AddressesTable = ksql.NewTable("addresses", "id")
|
||||||
// Note that we are omitting the name of the ID column
|
|
||||||
// below because "id" is already the default:
|
|
||||||
var AddressesTable = ksql.NewTable("addresses")
|
|
||||||
|
|
||||||
type Address struct {
|
type Address struct {
|
||||||
ID int `ksql:"id"`
|
ID int `ksql:"id"`
|
||||||
|
@ -43,7 +40,7 @@ type Address struct {
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
dbURL, closeDB := startPostgresDB(ctx)
|
dbURL, closeDB := startExampleDB(ctx)
|
||||||
defer closeDB()
|
defer closeDB()
|
||||||
|
|
||||||
db, err := kpgx.New(ctx, dbURL, ksql.Config{})
|
db, err := kpgx.New(ctx, dbURL, ksql.Config{})
|
||||||
|
@ -52,11 +49,6 @@ func main() {
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
err = createTablesAndRecords(ctx, db)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("error creating tables: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// For querying only some attributes you can
|
// For querying only some attributes you can
|
||||||
// create a custom struct like this:
|
// create a custom struct like this:
|
||||||
var count []struct {
|
var count []struct {
|
||||||
|
|
|
@ -11,9 +11,25 @@ import (
|
||||||
"github.com/ory/dockertest/v3"
|
"github.com/ory/dockertest/v3"
|
||||||
"github.com/ory/dockertest/v3/docker"
|
"github.com/ory/dockertest/v3/docker"
|
||||||
"github.com/vingarcia/ksql"
|
"github.com/vingarcia/ksql"
|
||||||
|
"github.com/vingarcia/ksql/adapters/kpgx"
|
||||||
)
|
)
|
||||||
|
|
||||||
func createTablesAndRecords(ctx context.Context, db ksql.DB) error {
|
func startExampleDB(ctx context.Context) (dbURL string, closer func()) {
|
||||||
|
dbURL, closeDB := startPostgresDB(ctx)
|
||||||
|
db, err := kpgx.New(ctx, dbURL, ksql.Config{})
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("startExampleDB(): unable connect to database: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = populateDatabase(ctx, db)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("startExampleDB(): error populating example database: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return dbURL, closeDB
|
||||||
|
}
|
||||||
|
|
||||||
|
func populateDatabase(ctx context.Context, db ksql.DB) error {
|
||||||
return errors.Join(
|
return errors.Join(
|
||||||
exec(ctx, db,
|
exec(ctx, db,
|
||||||
`CREATE TABLE users (
|
`CREATE TABLE users (
|
||||||
|
|
Loading…
Reference in New Issue