Skip to content

Commit 86eb9e0

Browse files
author
Reinaldy Rafli
committed
docs: examples for create table if not exists
1 parent ef78c0b commit 86eb9e0

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

README.md

+32-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
[![Go Reference](https://pkg.go.dev/badge/github.com/aldy505/bob.svg)](https://pkg.go.dev/github.com/aldy505/bob) [![Go Report Card](https://goreportcard.com/badge/github.com/aldy505/bob)](https://goreportcard.com/report/github.com/aldy505/bob) ![GitHub](https://img.shields.io/github/license/aldy505/bob) [![CodeFactor](https://www.codefactor.io/repository/github/aldy505/bob/badge)](https://www.codefactor.io/repository/github/aldy505/bob) [![codecov](https://codecov.io/gh/aldy505/bob/branch/master/graph/badge.svg?token=Noeexg5xEJ)](https://codecov.io/gh/aldy505/bob) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/9b78970127c74c1a923533e05f65848d)](https://www.codacy.com/gh/aldy505/bob/dashboard?utm_source=github.com&utm_medium=referral&utm_content=aldy505/bob&utm_campaign=Badge_Grade) [![Build test](https://github.com/aldy505/bob/actions/workflows/build.yml/badge.svg)](https://github.com/aldy505/bob/actions/workflows/build.yml) [![Test and coverage](https://github.com/aldy505/bob/actions/workflows/coverage.yml/badge.svg)](https://github.com/aldy505/bob/actions/workflows/coverage.yml)
44

5-
I really need a create table SQL builder, and I can't find one. So, like everything else, I made one. Heavily inspired by [Squirrel](https://github.com/Masterminds/squirrel) and [Knex](https://knexjs.org/).
5+
I really need a create table SQL builder, and I can't find one. So, like everything else, I made one. Heavily inspired by [Squirrel](https://github.com/Masterminds/squirrel) and [Knex](https://knexjs.org/). And of course, I still use Squirrel for other types of queries (insert, select, and all), think this package as an extension for Squirrel.
66

77
Oh, and of course, heavily inspired by Bob the Builder.
88

9+
```go
10+
import "github.com/aldy505/bob"
11+
```
12+
913
## Usage
1014

1115
It's not ready for production yet. But, the API is probably close to how you'd do things on Squirrel. This is an example for using with pgx.
@@ -61,6 +65,32 @@ func main() {
6165
log.Fatal(err)
6266
}
6367
}
68+
69+
// Create another table, this time with CREATE TABLE IF NOT EXISTS
70+
sql, _, err := bob.CreateTableIfNotExists("inventory").
71+
Columns("id", "userID", "items", "quantity").
72+
Types("varchar(36)", "varchar(36)", "json", "int").
73+
Primary("id").
74+
ToSql()
75+
if err != nil {
76+
log.Fatal(err)
77+
}
78+
79+
inventoryQuery := strings.Split(sql, ";")
80+
for i := range inventoryQuery {
81+
_, err = db.Query(context.Background(), inventoryQuery[i])
82+
if err != nil {
83+
log.Fatal(err)
84+
}
85+
}
6486
}
6587
}
66-
```
88+
```
89+
90+
## Contributing
91+
92+
Contributions are always welcome! As long as you add a test for your changes.
93+
94+
## License
95+
96+
Bob is licensed under [MIT license](./LICENSE)

0 commit comments

Comments
 (0)