diff --git a/README.md b/README.md index 6b10715..392016a 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ [![Tests Status](https://github.com/georgysavva/scany/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/georgysavva/scany/actions/workflows/test.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/georgysavva/scany)](https://goreportcard.com/report/github.com/georgysavva/scany) [![codecov](https://codecov.io/gh/georgysavva/scany/branch/master/graph/badge.svg)](https://codecov.io/gh/georgysavva/scany) -[![PkgGoDev](https://pkg.go.dev/badge/github.com/georgysavva/scany)](https://pkg.go.dev/github.com/georgysavva/scany) -[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/georgysavva/scany/v2)](https://pkg.go.dev/github.com/georgysavva/scany/v2) +[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) ## Overview @@ -25,12 +25,12 @@ it doesn't know anything about relations between objects e.g: one to many, many ## Features -* Custom database column name via struct tag -* Reusing structs via nesting or embedding -* NULLs and custom types support -* Omitted struct fields -* Apart from structs, support for maps and Go primitive types as the destination -* Override default settings +- Custom database column name via struct tag +- Reusing structs via nesting or embedding +- NULLs and custom types support +- Omitted struct fields +- Apart from structs, support for maps and Go primitive types as the destination +- Override default settings ## Install @@ -67,9 +67,8 @@ func main() { } ``` -Use [`sqlscan`](https://pkg.go.dev/github.com/georgysavva/scany/v2/sqlscan) -package to work with `database/sql` standard library. - +Use [`sqlscan`](https://pkg.go.dev/github.com/georgysavva/scany/v2/sqlscan) +package to work with `database/sql` standard library. ## How to use with `pgx` native interface @@ -101,23 +100,23 @@ func main() { } ``` -Use [`pgxscan`](https://pkg.go.dev/github.com/georgysavva/scany/v2/pgxscan) -package to work with `pgx` library native interface. +Use [`pgxscan`](https://pkg.go.dev/github.com/georgysavva/scany/v2/pgxscan) +package to work with `pgx` library native interface. ## How to use with other database libraries -Use [`dbscan`](https://pkg.go.dev/github.com/georgysavva/scany/v2/dbscan) package that works with an abstract database, +Use [`dbscan`](https://pkg.go.dev/github.com/georgysavva/scany/v2/dbscan) package that works with an abstract database, and can be integrated with any library that has a concept of rows. This particular package implements core scany features and contains all the logic. Both `sqlscan` and `pgxscan` use `dbscan` internally. ## Comparison with [`sqlx`](https://github.com/jmoiron/sqlx) -* sqlx only works with `database/sql` standard library. scany isn't limited to `database/sql`. It also +- sqlx only works with `database/sql` standard library. scany isn't limited to `database/sql`. It also supports [`pgx`](https://github.com/jackc/pgx) native interface and can be extended to work with any database library independent of `database/sql` -* In terms of scanning and mapping abilities, scany provides +- In terms of scanning and mapping abilities, scany provides all [features](https://github.com/georgysavva/scany#features) of sqlx -* scany has a simpler API and much fewer concepts, so it's easier to start working with +- scany has a simpler API and much fewer concepts, so it's easier to start working with ## Project documentation @@ -128,7 +127,6 @@ For detailed project documentation see GitHub [Wiki](https://github.com/georgysa - If you have an idea or a question, just post a pull request or an issue. Every feedback is appreciated. - If you want to help but don't know-how. All issues that you can work on are marked as `"help wanted"`. Discover all `"help wanted"` issues [here](https://github.com/georgysavva/scany/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22). - ## License This project is licensed under the terms of the MIT license.