From 6e712e689edacba55fa72582410394de09dd3cc2 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 19 Aug 2023 12:41:47 +0800 Subject: [PATCH] use github.com/bitbus/sqlx as sqlx package and upgrade github.com/alimy/yesql => v1.8.0 --- README.md | 4 +- docs/deploy/core/001-配置文件说明.md | 2 +- features-status.md | 2 +- go.mod | 7 +- go.sum | 18 +++- internal/conf/db_sqlx.go | 2 +- internal/dao/sakila/authority.go | 2 +- internal/dao/sakila/comments.go | 20 ++--- internal/dao/sakila/contacts.go | 10 +-- internal/dao/sakila/following.go | 2 +- internal/dao/sakila/messages.go | 2 +- internal/dao/sakila/security.go | 2 +- internal/dao/sakila/sqlx.go | 96 +--------------------- internal/dao/sakila/timeline.go | 6 +- internal/dao/sakila/topics.go | 16 ++-- internal/dao/sakila/tweets.go | 28 +++---- internal/dao/sakila/user.go | 4 +- internal/dao/sakila/utils.go | 2 +- internal/dao/sakila/wallet.go | 6 +- internal/dao/sakila/yesql/cc/yesql.go | 66 +++++++++------ internal/dao/sakila/yesql/gen.go | 2 +- 21 files changed, 119 insertions(+), 180 deletions(-) diff --git a/README.md b/README.md index 3d7c1b2c..36b6b37d 100644 --- a/README.md +++ b/README.md @@ -349,7 +349,7 @@ release/paopao-ce --no-default-features --features sqlite3,localoss,loggerfile,r |`Frontend:Web` | 子服务 | 稳定 | 开启独立前端服务| |`Frontend:EmbedWeb` | 子服务 | 稳定 | 开启内嵌于后端Web API服务中的前端服务| |`Gorm` | 数据库 | 稳定(默认) | 使用[gorm](https://github.com/go-gorm/gorm)作为数据库的ORM,默认使用 `Gorm` + `MySQL`组合| -|`Sqlx`| 数据库 | WIP | 使用[sqlx](https://github.com/jmoiron/sqlx)作为数据库的ORM| +|`Sqlx`| 数据库 | WIP | 使用[sqlx](https://github.com/bitbus/sqlx)作为数据库的ORM| |`Sqlc`| 数据库 | WIP | 使用[sqlc](https://github.com/kyleconroy/sqlc)自动生成ORM代码| |`MySQL`| 数据库 | 稳定(默认) | 使用MySQL作为数据库| |`Postgres`| 数据库 | 稳定 | 使用PostgreSQL作为数据库| @@ -556,7 +556,7 @@ x/sqlx | ----- | ----- | ----- | ----- | |[`paopao-ce`](https://github.com/rocboss/paopao-ce/tree/dev)|paopao-ce 主发行版本|[ROC](https://github.com/rocboss 'ROC')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架,适配MySQL/PostgreSQL/Sqlite3数据库。| |[`r/paopao-ce`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce)|paopao-ce 主分支预览版本|[ROC](https://github.com/rocboss 'ROC')
[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架,适配MySQL/PostgreSQL/Sqlite3数据库。代码较`main`分支新,是主发行版本的前瞻预览版本。| -|[`r/paopao-ce-plus`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus)|paopao-ce-plus 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus/internal/dao/sakila) 使用[sqlx](https://github.com/jmoiron/sqlx)作为数据逻辑层的ORM框架,专注于为MySQL/PostgreSQL/Sqlite3使用更优化的查询语句以提升数据检索效率。建议熟悉[sqlx](https://github.com/jmoiron/sqlx)的开发人员可以基于此版本来做 二次开发。| +|[`r/paopao-ce-plus`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus)|paopao-ce-plus 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus/internal/dao/sakila) 使用[sqlx](https://github.com/bitbus/sqlx)作为数据逻辑层的ORM框架,专注于为MySQL/PostgreSQL/Sqlite3使用更优化的查询语句以提升数据检索效率。建议熟悉[sqlx](https://github.com/bitbus/sqlx)的开发人员可以基于此版本来做 二次开发。| |[`r/paopao-ce-pro`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro)|paopao-ce-pro 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro/internal/dao/slonik) 使用[sqlc](https://github.com/kyleconroy/sqlc)作为sql语句生成器自动生成ORM代码,专门针对特定数据库MySQL/PostgreSQL进行查询优化,熟悉[sqlc](https://github.com/kyleconroy/sqlc)的开发人员可以基于此版本来做 二次开发。(另:分支目前只使用[pgx-v5](https://github.com/jackc/pgx)适配了PostgreSQL数据库,后续或许会适配MySQL/TiDB数据库。)| |[`r/paopao-ce-xtra`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-xtra)|paopao-ce-xtra 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 是r/paopao-ce、r/paopao-ce-plus、r/paopao-ce-pro的合集| |[`r/paopao-ce-mini`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-mini)|paopao-ce-mini 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支是paopao-ce最小可用版本,专注于个人部署、一键傻瓜式最简部署| diff --git a/docs/deploy/core/001-配置文件说明.md b/docs/deploy/core/001-配置文件说明.md index 29282f01..e4f08529 100644 --- a/docs/deploy/core/001-配置文件说明.md +++ b/docs/deploy/core/001-配置文件说明.md @@ -66,7 +66,7 @@ release/paopao-ce --no-default-features --features sqlite3,localoss,loggerfile,r |`Frontend:EmbedWeb` | 子服务 | 稳定 | 开启内嵌于后端Web API服务中的前端服务| |`Deprecated:Web` | 子服务 | 稳定 | 开启旧的Web服务| |`Gorm` | 数据库 | 稳定(默认) | 使用[gorm](https://github.com/go-gorm/gorm)作为数据库的ORM,默认使用 `Gorm` + `MySQL`组合| -|`Sqlx`| 数据库 | WIP | 使用[sqlx](https://github.com/jmoiron/sqlx)作为数据库的ORM| +|`Sqlx`| 数据库 | WIP | 使用[sqlx](https://github.com/bitbus/sqlx)作为数据库的ORM| |`MySQL`| 数据库 | 稳定(默认) | 使用MySQL作为数据库| |`Postgres`| 数据库 | 稳定 | 使用PostgreSQL作为数据库| |`Sqlite3`| 数据库 | 稳定 | 使用Sqlite3作为数据库| diff --git a/features-status.md b/features-status.md index be734b22..d49c6c44 100644 --- a/features-status.md +++ b/features-status.md @@ -53,7 +53,7 @@ * [x] 接口定义 * [x] 业务逻辑实现 * `Sqlx` + `MySQL`/`PostgreSQL` -使用[sqlx](https://github.com/jmoiron/sqlx)作为数据库的ORM(目前状态:WIP); +使用[sqlx](https://github.com/bitbus/sqlx)作为数据库的ORM(目前状态:WIP); * [ ] 提按文档 * [ ] 接口定义 * [ ] 业务逻辑实现 diff --git a/go.mod b/go.mod index 1bfe13d8..9d7ba199 100644 --- a/go.mod +++ b/go.mod @@ -7,9 +7,10 @@ require ( github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868 github.com/alimy/cfg v0.4.0 github.com/alimy/mir/v4 v4.0.0 - github.com/alimy/yesql v1.5.0 + github.com/alimy/yesql v1.8.0 github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible github.com/allegro/bigcache/v3 v3.1.0 + github.com/bitbus/sqlx v1.6.0 github.com/bufbuild/connect-go v1.10.0 github.com/bytedance/sonic v1.10.0 github.com/cockroachdb/errors v1.10.0 @@ -24,7 +25,6 @@ require ( github.com/golang-jwt/jwt/v4 v4.5.0 github.com/golang-migrate/migrate/v4 v4.15.2 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.23.4+incompatible - github.com/jmoiron/sqlx v1.3.5 github.com/json-iterator/go v1.1.12 github.com/meilisearch/meilisearch-go v0.25.0 github.com/minio/minio-go/v7 v7.0.61 @@ -53,8 +53,6 @@ require ( modernc.org/sqlite v1.25.0 ) -replace github.com/jmoiron/sqlx => github.com/bitbus/sqlx v1.4.0 - require ( github.com/andybalholm/brotli v1.0.5 // indirect github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect @@ -88,6 +86,7 @@ require ( github.com/jackc/pgx/v5 v5.3.1 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect + github.com/jmoiron/sqlx v1.3.5 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/klauspost/compress v1.16.7 // indirect diff --git a/go.sum b/go.sum index 8fad7488..2ce3f4ae 100644 --- a/go.sum +++ b/go.sum @@ -127,8 +127,12 @@ github.com/alimy/cfg v0.4.0 h1:SslKPndmxRViT1ePWLmNsEq7okYP0GVeuowQlRWZPkw= github.com/alimy/cfg v0.4.0/go.mod h1:rOxbasTH2srl6StAjNF5Vyi8bfrdkl3fLGmOYtSw81c= github.com/alimy/mir/v4 v4.0.0 h1:MzGfmoLjjvR69jbZEmpKJO3tUuqB0RGRv1UWPbtukBg= github.com/alimy/mir/v4 v4.0.0/go.mod h1:d58dBvw2KImcVbAUANrciEV/of0arMNsI9c/5UNCMMc= -github.com/alimy/yesql v1.5.0 h1:Xmx+yBQCWA4f5xsraypbMnY7id8bckjUr8zxynteDBE= -github.com/alimy/yesql v1.5.0/go.mod h1:Y0FdRIwIbJyTv56wSX+MpaIHiAW1PyKTDYO6K/er4JY= +github.com/alimy/yesql v1.6.0 h1:CMJCIRrKS6FOhrHK5Bl+1mUGq9JTOMbvtOLbcT5UmVs= +github.com/alimy/yesql v1.6.0/go.mod h1:Y0FdRIwIbJyTv56wSX+MpaIHiAW1PyKTDYO6K/er4JY= +github.com/alimy/yesql v1.7.0 h1:1FsfH7B8Uv3sW2GjUIUQNKzBt9Qoe4TxF6ifUhMo+00= +github.com/alimy/yesql v1.7.0/go.mod h1:ROvO5FnBWhyAMI+sSSGzoXi2q/cCs0cW3WuelHCkLlk= +github.com/alimy/yesql v1.8.0 h1:nOyElCU740uQ+S1hmG49Kpb6Sve5zqKayCj7mL21Dro= +github.com/alimy/yesql v1.8.0/go.mod h1:ROvO5FnBWhyAMI+sSSGzoXi2q/cCs0cW3WuelHCkLlk= github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible h1:6JF1bjhT0WN2srEmijfOFtVWwV91KZ6dJY1/JbdtGrI= github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/allegro/bigcache/v3 v3.1.0 h1:H2Vp8VOvxcrB91o86fUSVJFqeuz8kpyyB02eH3bSzwk= @@ -178,8 +182,8 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitbus/sqlx v1.4.0 h1:XNPq6UEAMNUjoNrcU6//5uTptIelFcmwTGSPFj0kw5c= -github.com/bitbus/sqlx v1.4.0/go.mod h1:aMXar0klnlHjWpv53au/CgXItZrKQf9MX75OV5kOVlA= +github.com/bitbus/sqlx v1.6.0 h1:ewrBydRkyHZqfOqvHVYpiBlqQtLn93B/loa2EwjpZ74= +github.com/bitbus/sqlx v1.6.0/go.mod h1:MemKLfQ600g6PxUVsIDe48PlY3wOquyW2ApeiXoynFo= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= @@ -524,6 +528,7 @@ github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= @@ -813,6 +818,10 @@ github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jmoiron/sqlx v1.3.1/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= +github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= +github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= @@ -927,6 +936,7 @@ github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.10/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go index a8b1cee4..1b39161f 100644 --- a/internal/conf/db_sqlx.go +++ b/internal/conf/db_sqlx.go @@ -7,7 +7,7 @@ package conf import ( "sync" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/pkg/naming" "github.com/sirupsen/logrus" ) diff --git a/internal/dao/sakila/authority.go b/internal/dao/sakila/authority.go index 4d4a2168..05885460 100644 --- a/internal/dao/sakila/authority.go +++ b/internal/dao/sakila/authority.go @@ -5,7 +5,7 @@ package sakila import ( - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" diff --git a/internal/dao/sakila/comments.go b/internal/dao/sakila/comments.go index c62108b0..1455afad 100644 --- a/internal/dao/sakila/comments.go +++ b/internal/dao/sakila/comments.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" @@ -56,7 +56,7 @@ func (s *commentSrv) GetCommentCount(r *ms.ConditionsT) (res int64, err error) { } func (s *commentSrv) GetCommentContentsByIDs(ids []int64) (res []*ms.CommentContent, err error) { - err = s.inSelect(&res, s.q.GetCommentContentsByIds, ids) + err = s.db.InSelect(&res, s.q.GetCommentContentsByIds, ids) return res, err } @@ -82,7 +82,7 @@ func (s *commentSrv) GetCommentThumbsMap(userId int64, tweetId int64) (cs.Commen func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyFormated, error) { replies := []*ms.CommentReply{} - err := s.inSelect(&replies, s.q.GetCommmentRepliesByIds, ids) + err := s.db.InSelect(&replies, s.q.GetCommmentRepliesByIds, ids) if err != nil { return nil, err } @@ -91,7 +91,7 @@ func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyForma userIds = append(userIds, reply.UserID, reply.AtUserID) } users := []*ms.UserFormated{} - if err = s.inSelect(&users, s.q.GetUsersByIds, userIds); err != nil { + if err = s.db.InSelect(&users, s.q.GetUsersByIds, userIds); err != nil { return nil, err } repliesFormated := []*ms.CommentReplyFormated{} @@ -113,7 +113,7 @@ func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyForma // DeleteComment delete comment // TODO: need delete related replies and update tweet comment count and comment content? func (s *commentManageSrv) DeleteComment(r *ms.Comment) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { now := time.Now().Unix() if _, err := tx.Stmtx(s.q.DeleteComment).Exec(now, r.ID); err != nil { return err @@ -153,7 +153,7 @@ func (s *commentManageSrv) CreateCommentReply(r *ms.CommentReply) (*ms.CommentRe } func (s *commentManageSrv) DeleteCommentReply(r *ms.CommentReply) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { now := time.Now().Unix() if _, err := tx.Stmtx(s.q.DeleteCommentReply).Exec(now, r.ID); err != nil { return err @@ -177,7 +177,7 @@ func (s *commentManageSrv) CreateCommentContent(r *ms.CommentContent) (*ms.Comme } func (s *commentManageSrv) ThumbsUpComment(userId int64, tweetId, commentId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var ( thumbsUpCount int32 = 0 thumbsDownCount int32 = 0 @@ -225,7 +225,7 @@ func (s *commentManageSrv) ThumbsUpComment(userId int64, tweetId, commentId int6 } func (s *commentManageSrv) ThumbsDownComment(userId int64, tweetId, commentId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var ( thumbsUpCount int32 = 0 thumbsDownCount int32 = 0 @@ -274,7 +274,7 @@ func (s *commentManageSrv) ThumbsDownComment(userId int64, tweetId, commentId in } func (s *commentManageSrv) ThumbsUpReply(userId int64, tweetId, commentId, replyId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var ( thumbsUpCount int32 = 0 thumbsDownCount int32 = 0 @@ -323,7 +323,7 @@ func (s *commentManageSrv) ThumbsUpReply(userId int64, tweetId, commentId, reply } func (s *commentManageSrv) ThumbsDownReply(userId int64, tweetId, commentId, replyId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var ( thumbsUpCount int32 = 0 thumbsDownCount int32 = 0 diff --git a/internal/dao/sakila/contacts.go b/internal/dao/sakila/contacts.go index 0690c23a..acdc7b4c 100644 --- a/internal/dao/sakila/contacts.go +++ b/internal/dao/sakila/contacts.go @@ -7,7 +7,7 @@ package sakila import ( "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" @@ -33,7 +33,7 @@ type contactManageSrv struct { } func (s *contactManageSrv) RequestingFriend(userId int64, friendId int64, greetings string) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { contact, err := s.fetchOrNewContact(tx, userId, friendId, cs.ContactStatusRequesting) if err != nil { return err @@ -70,7 +70,7 @@ func (s *contactManageSrv) RequestingFriend(userId int64, friendId int64, greeti } func (s *contactManageSrv) AddFriend(userId int64, friendId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { contact := &cs.Contact{} err := tx.Stmtx(s.q.GetUserFriend).Get(contact, userId, friendId) if err != nil { @@ -106,7 +106,7 @@ func (s *contactManageSrv) AddFriend(userId int64, friendId int64) error { } func (s *contactManageSrv) RejectFriend(userId int64, friendId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { contact := &cs.Contact{} err := tx.Stmtx(s.q.GetUserFriend).Get(contact, userId, friendId) if err != nil { @@ -130,7 +130,7 @@ func (s *contactManageSrv) RejectFriend(userId int64, friendId int64) error { } func (s *contactManageSrv) DeleteFriend(userId int64, friendId int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var contacts []cs.Contact err := tx.Stmtx(s.q.GetContacts).Select(&contacts, userId, friendId, friendId, userId) if err != nil { diff --git a/internal/dao/sakila/following.go b/internal/dao/sakila/following.go index f257254a..7abab267 100644 --- a/internal/dao/sakila/following.go +++ b/internal/dao/sakila/following.go @@ -7,7 +7,7 @@ package sakila import ( "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" diff --git a/internal/dao/sakila/messages.go b/internal/dao/sakila/messages.go index 8967b8c5..7e9e45eb 100644 --- a/internal/dao/sakila/messages.go +++ b/internal/dao/sakila/messages.go @@ -7,7 +7,7 @@ package sakila import ( "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" diff --git a/internal/dao/sakila/security.go b/internal/dao/sakila/security.go index c24af9ce..1f0674d3 100644 --- a/internal/dao/sakila/security.go +++ b/internal/dao/sakila/security.go @@ -9,7 +9,7 @@ import ( "strconv" "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index 0d24368f..c0c8721b 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -7,11 +7,9 @@ package sakila import ( "bytes" "context" - "database/sql" - _ "embed" "github.com/alimy/yesql" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" "github.com/sirupsen/logrus" @@ -27,94 +25,6 @@ type sqlxSrv struct { y *cc.Yesql } -func (s *sqlxSrv) with(handle func(tx *sqlx.Tx) error) error { - tx, err := s.db.Beginx() - if err != nil { - return err - } - defer tx.Rollback() - if err = handle(tx); err != nil { - return err - } - return tx.Commit() -} - -//lint:ignore U1000 withTx -func (s *sqlxSrv) withTx(ctx context.Context, opts *sql.TxOptions, handle func(*sqlx.Tx) error) error { - tx, err := s.db.BeginTxx(ctx, opts) - if err != nil { - return err - } - defer tx.Rollback() - if err = handle(tx); err != nil { - return err - } - return tx.Commit() -} - -//lint:ignore U1000 in -func (s *sqlxSrv) in(query string, args ...any) (string, []any, error) { - q, params, err := sqlx.In(query, args...) - if err != nil { - return "", nil, err - } - return s.db.Rebind(q), params, nil -} - -//lint:ignore U1000 inExec -func (s *sqlxSrv) inExec(query string, args ...any) (sql.Result, error) { - q, params, err := sqlx.In(query, args...) - if err != nil { - return nil, err - } - return s.db.Exec(s.db.Rebind(q), params...) -} - -func (s *sqlxSrv) inSelect(dest any, query string, args ...any) error { - q, params, err := sqlx.In(query, args...) - if err != nil { - return err - } - return sqlx.Select(s.db, dest, s.db.Rebind(q), params...) -} - -func (s *sqlxSrv) inGet(dest any, query string, args ...any) error { - q, params, err := sqlx.In(query, args...) - if err != nil { - return err - } - return sqlx.Get(s.db, dest, s.db.Rebind(q), params...) -} - -// inExecx execute for in clause with Transcation -func (s *sqlxSrv) inExecx(execer sqlx.Execer, query string, args ...any) (sql.Result, error) { - q, params, err := sqlx.In(query, args...) - if err != nil { - return nil, err - } - return execer.Exec(s.db.Rebind(q), params...) -} - -// inSelectx select for in clause with Transcation -func (s *sqlxSrv) inSelectx(queryer sqlx.Queryer, dest any, query string, args ...any) error { - q, params, err := sqlx.In(query, args...) - if err != nil { - return err - } - return sqlx.Select(queryer, dest, s.db.Rebind(q), params...) -} - -// inGetx get for in clause with Transcation -// -//lint:ignore U1000 inGetx -func (s *sqlxSrv) inGetx(queryer sqlx.Queryer, dest any, query string, args ...any) error { - q, params, err := sqlx.In(query, args...) - if err != nil { - return err - } - return sqlx.Get(queryer, dest, s.db.Rebind(q), params...) -} - func newSqlxSrv(db *sqlx.DB) *sqlxSrv { return &sqlxSrv{ db: db, @@ -182,7 +92,7 @@ func yesqlScan[T any](query yesql.SQLQuery, obj T) T { return obj } -func mustBuild[T any](db *sqlx.DB, fn func(yesql.PreparexBuilder, ...context.Context) (T, error)) T { +func mustBuild[T any](db *sqlx.DB, fn func(cc.PreparexBuilder, ...context.Context) (T, error)) T { p := yesql.NewPreparexBuilder(db, t) obj, err := fn(p) if err != nil { @@ -191,7 +101,7 @@ func mustBuild[T any](db *sqlx.DB, fn func(yesql.PreparexBuilder, ...context.Con return obj } -func mustBuildFn[T any](db *sqlx.DB, fn func(yesql.PreparexBuilder) (T, error)) T { +func mustBuildFn[T any](db *sqlx.DB, fn func(cc.PreparexBuilder) (T, error)) T { p := yesql.NewPreparexBuilder(db, t) obj, err := fn(p) if err != nil { diff --git a/internal/dao/sakila/timeline.go b/internal/dao/sakila/timeline.go index 85e252bb..cc685596 100644 --- a/internal/dao/sakila/timeline.go +++ b/internal/dao/sakila/timeline.go @@ -5,7 +5,7 @@ package sakila import ( - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" @@ -64,9 +64,9 @@ func (s *shipIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (res *ms default: friendIds, _ := s.ams.BeFriendIds(user.ID) friendIds = append(friendIds, user.ID) - err = s.inSelect(&posts, s.q.IndexBySelf, user.ID, friendIds, limit, offset) + err = s.db.InSelect(&posts, s.q.IndexBySelf, user.ID, friendIds, limit, offset) if err == nil { - err = s.inGet(&res.Total, s.q.IndexCountBySelf, user.ID, friendIds) + err = s.db.InGet(&res.Total, s.q.IndexCountBySelf, user.ID, friendIds) } } if err != nil { diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 883ba586..b531e900 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" @@ -29,9 +29,9 @@ func (s *topicSrvA) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, if len(tags) == 0 { return nil, nil } - xerr = s.with(func(tx *sqlx.Tx) error { + xerr = s.db.Withx(func(tx *sqlx.Tx) error { var upTags cs.TagInfoList - if err := s.inSelectx(tx, &upTags, s.q.TagsForIncr, tags); err != nil { + if err := tx.InSelect(&upTags, s.q.TagsForIncr, tags); err != nil { return err } now := time.Now().Unix() @@ -51,7 +51,7 @@ func (s *topicSrvA) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, } } } - if _, err := s.inExecx(tx, s.q.IncrTagsById, now, ids); err != nil { + if _, err := tx.InExec(s.q.IncrTagsById, now, ids); err != nil { return err } res = append(res, upTags...) @@ -73,7 +73,7 @@ func (s *topicSrvA) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, ids = append(ids, id) } var newTags cs.TagInfoList - if err := s.inSelectx(tx, &newTags, s.q.TagsByIdB, ids); err != nil { + if err := tx.InSelect(&newTags, s.q.TagsByIdB, ids); err != nil { return err } res = append(res, newTags...) @@ -83,13 +83,13 @@ func (s *topicSrvA) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, } func (s *topicSrvA) DecrTagsById(ids []int64) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var ids []int64 - err := s.inSelectx(tx, &ids, s.q.TagsByIdA, ids) + err := tx.InSelect(&ids, s.q.TagsByIdA, ids) if err != nil { return err } - _, err = s.inExecx(tx, s.q.DecrTagsById, time.Now().Unix(), ids) + _, err = tx.InExec(s.q.DecrTagsById, time.Now().Unix(), ids) return err }) } diff --git a/internal/dao/sakila/tweets.go b/internal/dao/sakila/tweets.go index 48fe8464..94f04b0a 100644 --- a/internal/dao/sakila/tweets.go +++ b/internal/dao/sakila/tweets.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" @@ -127,12 +127,12 @@ func (s *tweetHelpSrv) RevampPosts(posts []*ms.PostFormated) ([]*ms.PostFormated } func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) (res []*dbr.PostContentFormated, err error) { - err = s.inSelect(&res, s.q.GetPostContentByIds, ids) + err = s.db.InSelect(&res, s.q.GetPostContentByIds, ids) return } func (s *tweetHelpSrv) getUsersByIDs(ids []int64) (res []*dbr.UserFormated, err error) { - err = s.inSelect(&res, s.q.GetUsersByIds, ids) + err = s.db.InSelect(&res, s.q.GetUsersByIds, ids) return } @@ -199,7 +199,7 @@ func (s *tweetManageSrv) CreatePost(r *ms.Post) (*ms.Post, error) { } func (s *tweetManageSrv) DeletePost(post *ms.Post) (mediaContents []string, err error) { - s.with(func(tx *sqlx.Tx) error { + s.db.Withx(func(tx *sqlx.Tx) error { // 获取多媒体内容 if err = tx.Stmtx(s.q.MediaContentByPostId).Get(&mediaContents, post.ID); err != nil { return err @@ -233,7 +233,7 @@ func (s *tweetManageSrv) deleteCommentByPostId(tx *sqlx.Tx, postId int64) (media return nil, err } // 获取评论的媒体内容 - err = s.inSelectx(tx, &mediaContents, s.q.CommentMediaFromCommentIds, commentIds) + err = tx.InSelect(&mediaContents, s.q.CommentMediaFromCommentIds, commentIds) if err != nil { return nil, err } @@ -243,11 +243,11 @@ func (s *tweetManageSrv) deleteCommentByPostId(tx *sqlx.Tx, postId int64) (media return nil, err } // 删评论内容 - if _, err = s.inExecx(tx, s.q.DelCommentContentByCommentIds, now, commentIds); err != nil { + if _, err = tx.InExec(s.q.DelCommentContentByCommentIds, now, commentIds); err != nil { return nil, err } // 删评论的评论 - if _, err = s.inExecx(tx, s.q.DelReplyByCommentIds, now, commentIds); err != nil { + if _, err = tx.InExec(s.q.DelReplyByCommentIds, now, commentIds); err != nil { return nil, err } return @@ -264,7 +264,7 @@ func (s *tweetManageSrv) StickPost(r *ms.Post) error { } func (s *tweetManageSrv) HighlightPost(userId, postId int64) (is_essence int, err error) { - err = s.with(func(tx *sqlx.Tx) error { + err = s.db.Withx(func(tx *sqlx.Tx) error { var postUserId int64 err = tx.Stmtx(s.q.PostHighlightStatus).QueryRowx(postId).Scan(&postUserId, &is_essence) if err != nil { @@ -295,7 +295,7 @@ func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT // TODO: 置顶推文用户是否有权设置成私密? 后续完善 post.IsTop = 0 } - s.with(func(tx *sqlx.Tx) error { + s.db.Withx(func(tx *sqlx.Tx) error { _, err = s.q.VisiblePost.Exec(visibility, post.IsTop, time.Now().Unix(), post.ID) // tag处理 tags := strings.Split(post.Tags, ",") @@ -356,9 +356,9 @@ func (s *tweetSrv) GetPosts(c ms.ConditionsT, offset, limit int) (res []*ms.Post userId, exist := c["user_id"] visibility := c["visibility IN ?"] if exist { - err = s.inSelect(&res, s.q.GetUserPosts, userId, visibility, limit, offset) + err = s.db.InSelect(&res, s.q.GetUserPosts, userId, visibility, limit, offset) } else { - err = s.inSelect(&res, s.q.GetAnyPosts, visibility, limit, offset) + err = s.db.InSelect(&res, s.q.GetAnyPosts, visibility, limit, offset) } return } @@ -367,9 +367,9 @@ func (s *tweetSrv) GetPostCount(c ms.ConditionsT) (res int64, err error) { userId, exist := c["user_id"] visibility := c["visibility IN ?"] if exist { - err = s.inGet(&res, s.q.GetUserPostCount, userId, visibility) + err = s.db.InGet(&res, s.q.GetUserPostCount, userId, visibility) } else { - err = s.inGet(&res, s.q.GetAnyPostCount, visibility) + err = s.db.InGet(&res, s.q.GetAnyPostCount, visibility) } return } @@ -471,7 +471,7 @@ func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (res *ms.PostAtt } func (s *tweetSrv) GetPostContentsByIDs(ids []int64) (res []*ms.PostContent, err error) { - err = s.inSelect(&res, s.q.GetPostContentsByIds, ids) + err = s.db.InSelect(&res, s.q.GetPostContentsByIds, ids) return } diff --git a/internal/dao/sakila/user.go b/internal/dao/sakila/user.go index 7fb64e07..d1479eb0 100644 --- a/internal/dao/sakila/user.go +++ b/internal/dao/sakila/user.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" @@ -39,7 +39,7 @@ func (s *userManageSrv) GetUserByPhone(phone string) (res *ms.User, err error) { } func (s *userManageSrv) GetUsersByIDs(ids []int64) (res []*ms.User, err error) { - err = s.inSelect(&res, s.q.GetUsersByIds, ids) + err = s.db.InSelect(&res, s.q.GetUsersByIds, ids) return } diff --git a/internal/dao/sakila/utils.go b/internal/dao/sakila/utils.go index 7f1edbaa..f9283433 100644 --- a/internal/dao/sakila/utils.go +++ b/internal/dao/sakila/utils.go @@ -7,7 +7,7 @@ package sakila import ( "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/core/cs" ) diff --git a/internal/dao/sakila/wallet.go b/internal/dao/sakila/wallet.go index 68d4042e..9ec9b587 100644 --- a/internal/dao/sakila/wallet.go +++ b/internal/dao/sakila/wallet.go @@ -7,7 +7,7 @@ package sakila import ( "time" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" @@ -60,7 +60,7 @@ func (s *walletSrv) GetUserWalletBillCount(userID int64) (res int64, err error) } func (s *walletSrv) HandleRechargeSuccess(r *ms.WalletRecharge, tradeNo string) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { var oldBalance int64 // 获取当前金额 err := tx.Stmtx(s.q.GetUserBalance).Get(&oldBalance, r.UserID) @@ -86,7 +86,7 @@ func (s *walletSrv) HandleRechargeSuccess(r *ms.WalletRecharge, tradeNo string) } func (s *walletSrv) HandlePostAttachmentBought(post *ms.Post, user *ms.User) error { - return s.with(func(tx *sqlx.Tx) error { + return s.db.Withx(func(tx *sqlx.Tx) error { now := time.Now().Unix() // 扣除金额 _, err := tx.Stmtx(s.q.MinusUserBalance).Exec(post.AttachmentPrice, now, user.ID) diff --git a/internal/dao/sakila/yesql/cc/yesql.go b/internal/dao/sakila/yesql/cc/yesql.go index 0833bb47..7c9071c0 100644 --- a/internal/dao/sakila/yesql/cc/yesql.go +++ b/internal/dao/sakila/yesql/cc/yesql.go @@ -1,6 +1,6 @@ // Code generated by Yesql. DO NOT EDIT. // versions: -// - Yesql v1.5.0 +// - Yesql v1.8.0 package cc @@ -8,7 +8,7 @@ import ( "context" "github.com/alimy/yesql" - "github.com/jmoiron/sqlx" + "github.com/bitbus/sqlx" ) const ( @@ -178,6 +178,26 @@ const ( _Wallet_NewPostBill = `INSERT INTO @wallet_statement (post_id, user_id, change_amount, balance_snapshot, reason, created_on) VALUES (?, ?, ?, ?, ?, ?)` ) +// PreparexContext enhances the Conn interface with context. +type PreparexContext interface { + // PrepareContext prepares a statement. + // The provided context is used for the preparation of the statement, not for + // the execution of the statement. + PreparexContext(ctx context.Context, query string) (*sqlx.Stmt, error) + + // PrepareNamedContext returns an sqlx.NamedStmt + PrepareNamedContext(ctx context.Context, query string) (*sqlx.NamedStmt, error) + + // Rebind rebind query to adapte SQL Driver + Rebind(query string) string +} + +// PreparexBuilder preparex builder interface for sqlx +type PreparexBuilder interface { + PreparexContext + QueryHook(query string) string +} + type Yesql struct { TagsFromNames string `yesql:"tags_from_names"` UpdateTagQuote *sqlx.Stmt `yesql:"update_tag_quote"` @@ -425,7 +445,7 @@ type Wallet struct { NewPostBill *sqlx.Stmt `yesql:"new_post_bill"` } -func BuildYesql(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Yesql, err error) { +func BuildYesql(p PreparexBuilder, ctx ...context.Context) (obj *Yesql, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -441,7 +461,7 @@ func BuildYesql(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Yesql, er return } -func BuildAuthorizationManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *AuthorizationManage, err error) { +func BuildAuthorizationManage(p PreparexBuilder, ctx ...context.Context) (obj *AuthorizationManage, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -461,7 +481,7 @@ func BuildAuthorizationManage(p yesql.PreparexBuilder, ctx ...context.Context) ( return } -func BuildComment(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Comment, err error) { +func BuildComment(p PreparexBuilder, ctx ...context.Context) (obj *Comment, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -489,7 +509,7 @@ func BuildComment(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Comment return } -func BuildCommentManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *CommentManage, err error) { +func BuildCommentManage(p PreparexBuilder, ctx ...context.Context) (obj *CommentManage, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -539,7 +559,7 @@ func BuildCommentManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *C return } -func BuildContactManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj *ContactManager, err error) { +func BuildContactManager(p PreparexBuilder, ctx ...context.Context) (obj *ContactManager, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -586,7 +606,7 @@ func BuildContactManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj * return } -func BuildFollowingManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj *FollowingManager, err error) { +func BuildFollowingManager(p PreparexBuilder, ctx ...context.Context) (obj *FollowingManager, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -618,7 +638,7 @@ func BuildFollowingManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj return } -func BuildMessage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Message, err error) { +func BuildMessage(p PreparexBuilder, ctx ...context.Context) (obj *Message, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -647,7 +667,7 @@ func BuildMessage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Message return } -func BuildSecurity(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Security, err error) { +func BuildSecurity(p PreparexBuilder, ctx ...context.Context) (obj *Security, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -667,7 +687,7 @@ func BuildSecurity(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Securi return } -func BuildShipIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *ShipIndex, err error) { +func BuildShipIndex(p PreparexBuilder, ctx ...context.Context) (obj *ShipIndex, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -693,14 +713,14 @@ func BuildShipIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *ShipI return } -func BuildShipIndexA(p yesql.PreparexBuilder) (obj *ShipIndexA, err error) { +func BuildShipIndexA(p PreparexBuilder) (obj *ShipIndexA, err error) { obj = &ShipIndexA{ UserInfo: p.QueryHook(_ShipIndexA_UserInfo), } return } -func BuildSimpleIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *SimpleIndex, err error) { +func BuildSimpleIndex(p PreparexBuilder, ctx ...context.Context) (obj *SimpleIndex, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -717,14 +737,14 @@ func BuildSimpleIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Sim return } -func BuildSimpleIndexA(p yesql.PreparexBuilder) (obj *SimpleIndexA, err error) { +func BuildSimpleIndexA(p PreparexBuilder) (obj *SimpleIndexA, err error) { obj = &SimpleIndexA{ UserInfo: p.QueryHook(_SimpleIndexA_UserInfo), } return } -func BuildTopicA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TopicA, err error) { +func BuildTopicA(p PreparexBuilder, ctx ...context.Context) (obj *TopicA, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -756,7 +776,7 @@ func BuildTopicA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TopicA, return } -func BuildTweet(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet, err error) { +func BuildTweet(p PreparexBuilder, ctx ...context.Context) (obj *Tweet, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -860,7 +880,7 @@ func BuildTweet(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet, er return } -func BuildTweetA(p yesql.PreparexBuilder) (obj *TweetA, err error) { +func BuildTweetA(p PreparexBuilder) (obj *TweetA, err error) { obj = &TweetA{ AttachmentByTweetId: p.QueryHook(_TweetA_AttachmentByTweetId), FavoriteByTweetId: p.QueryHook(_TweetA_FavoriteByTweetId), @@ -878,7 +898,7 @@ func BuildTweetA(p yesql.PreparexBuilder) (obj *TweetA, err error) { return } -func BuildTweetHelp(p yesql.PreparexBuilder) (obj *TweetHelp, err error) { +func BuildTweetHelp(p PreparexBuilder) (obj *TweetHelp, err error) { obj = &TweetHelp{ GetPostContentByIds: p.QueryHook(_TweetHelp_GetPostContentByIds), GetUsersByIds: p.QueryHook(_TweetHelp_GetUsersByIds), @@ -886,14 +906,14 @@ func BuildTweetHelp(p yesql.PreparexBuilder) (obj *TweetHelp, err error) { return } -func BuildTweetHelpA(p yesql.PreparexBuilder) (obj *TweetHelpA, err error) { +func BuildTweetHelpA(p PreparexBuilder) (obj *TweetHelpA, err error) { obj = &TweetHelpA{ UserInfo: p.QueryHook(_TweetHelpA_UserInfo), } return } -func BuildTweetManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetManage, err error) { +func BuildTweetManage(p PreparexBuilder, ctx ...context.Context) (obj *TweetManage, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -959,14 +979,14 @@ func BuildTweetManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Twe return } -func BuildTweetManageA(p yesql.PreparexBuilder) (obj *TweetManageA, err error) { +func BuildTweetManageA(p PreparexBuilder) (obj *TweetManageA, err error) { obj = &TweetManageA{ UserInfo: p.QueryHook(_TweetManageA_UserInfo), } return } -func BuildUserManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *UserManage, err error) { +func BuildUserManage(p PreparexBuilder, ctx ...context.Context) (obj *UserManage, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] @@ -1000,7 +1020,7 @@ func BuildUserManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *User return } -func BuildWallet(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Wallet, err error) { +func BuildWallet(p PreparexBuilder, ctx ...context.Context) (obj *Wallet, err error) { var c context.Context if len(ctx) > 0 && ctx[0] != nil { c = ctx[0] diff --git a/internal/dao/sakila/yesql/gen.go b/internal/dao/sakila/yesql/gen.go index eacbcdf2..5c413056 100644 --- a/internal/dao/sakila/yesql/gen.go +++ b/internal/dao/sakila/yesql/gen.go @@ -21,7 +21,7 @@ func main() { query.Query = strings.TrimRight(query.Query, ";") return query, nil }) - if err := yesql.Generate("yesql.sql", "cc", "cc"); err != nil { + if err := yesql.Generate("yesql.sql", "cc", "cc", yesql.SqlxPkgName("github.com/bitbus/sqlx")); err != nil { log.Fatalf("generate code occurs error: %s", err) } log.Println("[Yesql] generate code finish")