From 14b1ba47d3626992d4336dc16a7736e592fe7531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Garcia?= Date: Wed, 23 Oct 2024 23:39:17 -0300 Subject: [PATCH] Simplify readme example --- README.md | 12 ++---------- examples/overview/main.go | 12 ++---------- examples/overview/start_db.go | 18 +++++++++++++++++- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 1e13b03..cbc90e8 100644 --- a/README.md +++ b/README.md @@ -72,10 +72,7 @@ type Post struct { } // Address have a one to one relationship with User -// -// Note that we are omitting the name of the ID column -// below because "id" is already the default: -var AddressesTable = ksql.NewTable("addresses") +var AddressesTable = ksql.NewTable("addresses", "id") type Address struct { ID int `ksql:"id"` @@ -85,7 +82,7 @@ type Address struct { func main() { ctx := context.Background() - dbURL, closeDB := startPostgresDB(ctx) + dbURL, closeDB := startExampleDB(ctx) defer closeDB() db, err := kpgx.New(ctx, dbURL, ksql.Config{}) @@ -94,11 +91,6 @@ func main() { } defer db.Close() - err = createTablesAndRecords(ctx, db) - if err != nil { - log.Fatalf("error creating tables: %s", err) - } - // For querying only some attributes you can // create a custom struct like this: var count []struct { diff --git a/examples/overview/main.go b/examples/overview/main.go index 5dfbf67..993145c 100644 --- a/examples/overview/main.go +++ b/examples/overview/main.go @@ -30,10 +30,7 @@ type Post struct { } // Address have a one to one relationship with User -// -// Note that we are omitting the name of the ID column -// below because "id" is already the default: -var AddressesTable = ksql.NewTable("addresses") +var AddressesTable = ksql.NewTable("addresses", "id") type Address struct { ID int `ksql:"id"` @@ -43,7 +40,7 @@ type Address struct { func main() { ctx := context.Background() - dbURL, closeDB := startPostgresDB(ctx) + dbURL, closeDB := startExampleDB(ctx) defer closeDB() db, err := kpgx.New(ctx, dbURL, ksql.Config{}) @@ -52,11 +49,6 @@ func main() { } defer db.Close() - err = createTablesAndRecords(ctx, db) - if err != nil { - log.Fatalf("error creating tables: %s", err) - } - // For querying only some attributes you can // create a custom struct like this: var count []struct { diff --git a/examples/overview/start_db.go b/examples/overview/start_db.go index 15ebbd9..16a733c 100644 --- a/examples/overview/start_db.go +++ b/examples/overview/start_db.go @@ -11,9 +11,25 @@ import ( "github.com/ory/dockertest/v3" "github.com/ory/dockertest/v3/docker" "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( exec(ctx, db, `CREATE TABLE users (