Skip to content

Commit 6328a5e

Browse files
authored
Handle updated running count format, upgrade river (#370)
* handle new metadata structure for precomputed partition keys * use sqlc v1.29.0 in CI * use river v0.23.1 * use golangci-lint v2.1.6 in CI * skip paralleltest lint issues for now * fix eslint issues
1 parent 086fef4 commit 6328a5e

17 files changed

Lines changed: 100 additions & 47 deletions

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ jobs:
8181
name: Go lint
8282
runs-on: ubuntu-latest
8383
env:
84-
GOLANGCI_LINT_VERSION: v2.0.0
84+
GOLANGCI_LINT_VERSION: v2.1.6
8585
permissions:
8686
contents: read
8787
# allow read access to pull request. Use with `only-new-issues` option.
@@ -129,7 +129,7 @@ jobs:
129129
- name: Setup sqlc
130130
uses: sqlc-dev/setup-sqlc@v4
131131
with:
132-
sqlc-version: "1.28.0"
132+
sqlc-version: "1.29.0"
133133

134134
- name: Run sqlc diff
135135
run: |

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
- Upgraded all dependencies.
13+
- Compatibility with River Pro v0.15.0 and River v0.23.0.
14+
1015
## [v0.10.0] - 2025-05-13
1116

1217
### Added

cmd/riverui/main_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
)
1717

1818
func TestInitServer(t *testing.T) {
19+
// TODO: this should be upgradeable to our latest test patterns to be parallelizable.
1920
var (
2021
ctx = context.Background()
2122
databaseURL = cmp.Or(os.Getenv("TEST_DATABASE_URL"), "postgres://localhost/river_test")
@@ -64,7 +65,7 @@ func TestInitServer(t *testing.T) {
6465
})
6566

6667
t.Run("JobListHideArgsByDefault", func(t *testing.T) {
67-
t.Run("default value is false", func(t *testing.T) {
68+
t.Run("default value is false", func(t *testing.T) { //nolint:paralleltest
6869
initRes, _ := setup(t)
6970
req := httptest.NewRequest(http.MethodGet, "/api/features", nil)
7071
recorder := httptest.NewRecorder()

go.mod

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ require (
88
github.com/google/uuid v1.6.0
99
github.com/jackc/pgx/v5 v5.7.5
1010
github.com/riverqueue/apiframe v0.0.0-20250408034821-b206bbbd0fb4
11-
github.com/riverqueue/river v0.22.0
12-
github.com/riverqueue/river/riverdriver v0.22.0
13-
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.22.0
14-
github.com/riverqueue/river/rivershared v0.22.0
15-
github.com/riverqueue/river/rivertype v0.22.0
11+
github.com/riverqueue/river v0.23.1
12+
github.com/riverqueue/river/riverdriver v0.23.1
13+
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.23.1
14+
github.com/riverqueue/river/rivershared v0.23.1
15+
github.com/riverqueue/river/rivertype v0.23.1
1616
github.com/rs/cors v1.11.1
1717
github.com/samber/slog-http v1.7.0
1818
github.com/stretchr/testify v1.10.0
@@ -37,11 +37,11 @@ require (
3737
go.opentelemetry.io/otel v1.29.0 // indirect
3838
go.opentelemetry.io/otel/trace v1.29.0 // indirect
3939
go.uber.org/goleak v1.3.0 // indirect
40-
golang.org/x/crypto v0.37.0 // indirect
40+
golang.org/x/crypto v0.38.0 // indirect
4141
golang.org/x/net v0.38.0 // indirect
42-
golang.org/x/sync v0.13.0 // indirect
43-
golang.org/x/sys v0.32.0 // indirect
44-
golang.org/x/text v0.24.0 // indirect
42+
golang.org/x/sync v0.14.0 // indirect
43+
golang.org/x/sys v0.33.0 // indirect
44+
golang.org/x/text v0.25.0 // indirect
4545
gopkg.in/yaml.v3 v3.0.1 // indirect
4646
)
4747

go.sum

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
22
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
33
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4+
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
5+
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
46
github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM=
57
github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8=
68
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
@@ -33,22 +35,30 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
3335
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
3436
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
3537
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
38+
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
39+
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
40+
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
41+
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
3642
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
3743
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
44+
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
45+
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
3846
github.com/riverqueue/apiframe v0.0.0-20250408034821-b206bbbd0fb4 h1:ejJogJ57bF+jMbvGjZQ6H6LR0NCTDQr30SJ/wSVepgs=
3947
github.com/riverqueue/apiframe v0.0.0-20250408034821-b206bbbd0fb4/go.mod h1:6aXA9FSXKkxwjbOUSXdrIOuw478Lvtz/eEu45R4MoQk=
40-
github.com/riverqueue/river v0.22.0 h1:PO4Ula2RqViQqNs6xjze7yFV6Zq4T3Ffv092+f4S8xQ=
41-
github.com/riverqueue/river v0.22.0/go.mod h1:IRoWoK4RGCiPuVJUV4EWcCl9d/TMQYkk0EEYV/Wgq+U=
42-
github.com/riverqueue/river/riverdriver v0.22.0 h1:i7OSFkUi6x4UKvttdFOIg7NYLYaBOFLJZvkZ0+JWS/8=
43-
github.com/riverqueue/river/riverdriver v0.22.0/go.mod h1:oNdjJCeAJhN/UiZGLNL+guNqWaxMFuSD4lr5x/v/was=
44-
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.22.0 h1:+no3gToOK9SmWg0pDPKfOGSCsrxqqaFdD8K1NQndRbY=
45-
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.22.0/go.mod h1:mygiHa1dnlKRjxT1//wIvfT2fMTbfXKm37NcsxoyBoQ=
46-
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.22.0 h1:2TWbVL73gipJ2/4JNCQbifaNj+BCC/Zxpp30o1D8RTg=
47-
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.22.0/go.mod h1:TZY/BG8w/nDxkraAEvvgyVupIz0b4+PQVUW0kIiy1fc=
48-
github.com/riverqueue/river/rivershared v0.22.0 h1:hLPHr98d6OEfmUJ4KpIXgoy2tbQ14htWILcRBHJF11U=
49-
github.com/riverqueue/river/rivershared v0.22.0/go.mod h1:BK+hvhECfdDLWNDH3xiGI95m2YoPfVtECZLT+my8XM8=
50-
github.com/riverqueue/river/rivertype v0.22.0 h1:rSRhbd5uV/BaFTPxReCxuYTAzx+/riBZJlZdREADvO4=
51-
github.com/riverqueue/river/rivertype v0.22.0/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
48+
github.com/riverqueue/river v0.23.1 h1:/iwpDJ4ypgoVNMDDtQ7PYUKQd+lk6z414fGmp3nei84=
49+
github.com/riverqueue/river v0.23.1/go.mod h1:+02PXpjXtHnV5QzARe9BfltC52Kcm8y+BzaD6s6a2J4=
50+
github.com/riverqueue/river/riverdriver v0.23.1 h1:KG7uUg2l2TWsPGcDfYD3U2ZAHXnZ/iZNH+JT0LjOq20=
51+
github.com/riverqueue/river/riverdriver v0.23.1/go.mod h1:GN3r8XgDN/YwY1mudkPdrtyFTE3Pq/AMKrUePlcH0Uc=
52+
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.23.1 h1:WIVKfmyprocrZfSjtM5lNNu+Hul+r64HHoR1CEbQ1g0=
53+
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.23.1/go.mod h1:v9OaTsxzr52ZCjGdfsaV5OIIQL84fcFuENQzaVRV5gI=
54+
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.23.1 h1:hztWRKCHcsf9jkSjBCfQ6FQgoKoCtmd6A8EualE4ZEk=
55+
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.23.1/go.mod h1:Wn8rY1a3a4I5nvskpebNK+LCkkopVFTUNPW9UklW02g=
56+
github.com/riverqueue/river/riverdriver/riversqlite v0.23.1 h1:v5onNmGdbsmyQAIYG3I77/RG8wkfrAOrLRTAJ8vXgNU=
57+
github.com/riverqueue/river/riverdriver/riversqlite v0.23.1/go.mod h1:yRc5N+kod5r4oIvHSK9GNDddP13zm1/VEFwG55pYhO8=
58+
github.com/riverqueue/river/rivershared v0.23.1 h1:ZC6ybv5KguD/mpLkaXrtUCES6FyKbGsavk25YNJdp0s=
59+
github.com/riverqueue/river/rivershared v0.23.1/go.mod h1:8/jFVQNfUesv5y+qQZ55XULMCOdM5yj9F4MG7/UA8LA=
60+
github.com/riverqueue/river/rivertype v0.23.1 h1:vaIIm54BVzvy2iXT/iP7isIPSv2k99DElJNI6hWQ1lc=
61+
github.com/riverqueue/river/rivertype v0.23.1/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
5262
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
5363
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
5464
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
@@ -78,19 +88,29 @@ go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt3
7888
go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
7989
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
8090
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
81-
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
82-
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
91+
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
92+
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
93+
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
94+
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
8395
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
8496
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
85-
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
86-
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
87-
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
88-
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
89-
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
90-
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
97+
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
98+
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
99+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
100+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
101+
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
102+
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
91103
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
92104
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
93105
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
94106
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
95107
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
96108
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
109+
modernc.org/libc v1.64.0 h1:U0k8BD2d3cD3e9I8RLcZgJBHAcsJzbXx5mKGSb5pyJA=
110+
modernc.org/libc v1.64.0/go.mod h1:7m9VzGq7APssBTydds2zBcxGREwvIGpuUBaKTXdm2Qs=
111+
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
112+
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
113+
modernc.org/memory v1.10.0 h1:fzumd51yQ1DxcOxSO+S6X7+QTuVU+n8/Aj7swYjFfC4=
114+
modernc.org/memory v1.10.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw=
115+
modernc.org/sqlite v1.37.0 h1:s1TMe7T3Q3ovQiK2Ouz4Jwh7dw4ZDqbebSDTlSJdfjI=
116+
modernc.org/sqlite v1.37.0/go.mod h1:5YiWv+YviqGMuGw4V+PNplcyaJ5v+vQd7TQOgkACoJM=

handler_api_endpoint_test.go

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -633,12 +633,21 @@ func TestAPIHandlerProducerList(t *testing.T) {
633633
require.NoError(t, err)
634634

635635
_, err = bundle.tx.Exec(ctx,
636+
// old format:
636637
`INSERT INTO river_producer (client_id, queue_name, max_workers, metadata) VALUES (
637638
'client2', 'queue2', 3, '{"concurrency": {"running": {"abcd": {"count": 3}, "efgh": {"count": 2}}}}'
638639
);`,
639640
)
640641
require.NoError(t, err)
641642

643+
_, err = bundle.tx.Exec(ctx,
644+
// new format:
645+
`INSERT INTO river_producer (client_id, queue_name, max_workers, metadata) VALUES (
646+
'client3', 'queue3', 3, '{"concurrency": {"running": {"abcd": 3, "efgh": 2}}}'
647+
);`,
648+
)
649+
require.NoError(t, err)
650+
642651
resp, err := apitest.InvokeHandler(ctx, endpoint.Execute, testMountOpts(t), &producerListRequest{QueueName: "queue1"})
643652
require.NoError(t, err)
644653
require.Len(t, resp.Data, 2)
@@ -656,8 +665,16 @@ func TestAPIHandlerProducerList(t *testing.T) {
656665
require.Equal(t, 3, resp.Data[0].MaxWorkers)
657666
require.Equal(t, int32(5), resp.Data[0].Running)
658667

668+
// Same data as queue2 producer, but with new format:
659669
resp, err = apitest.InvokeHandler(ctx, endpoint.Execute, testMountOpts(t), &producerListRequest{QueueName: "queue3"})
660670
require.NoError(t, err)
671+
require.Len(t, resp.Data, 1)
672+
require.Equal(t, "client3", resp.Data[0].ClientID)
673+
require.Equal(t, 3, resp.Data[0].MaxWorkers)
674+
require.Equal(t, int32(5), resp.Data[0].Running)
675+
676+
resp, err = apitest.InvokeHandler(ctx, endpoint.Execute, testMountOpts(t), &producerListRequest{QueueName: "queue4"})
677+
require.NoError(t, err)
661678
require.Empty(t, resp.Data)
662679
})
663680
}
@@ -1014,7 +1031,7 @@ func TestAPIHandlerWorkflowList(t *testing.T) {
10141031
State: ptrutil.Ptr(rivertype.JobStateCancelled),
10151032
})
10161033

1017-
t.Run("All", func(t *testing.T) {
1034+
t.Run("All", func(t *testing.T) { //nolint:paralleltest
10181035
resp, err := apitest.InvokeHandler(ctx, endpoint.Execute, testMountOpts(t), &workflowListRequest{})
10191036
require.NoError(t, err)
10201037
require.Len(t, resp.Data, 2)
@@ -1036,7 +1053,7 @@ func TestAPIHandlerWorkflowList(t *testing.T) {
10361053
require.Equal(t, "first_wf", *resp.Data[1].Name)
10371054
})
10381055

1039-
t.Run("Active", func(t *testing.T) {
1056+
t.Run("Active", func(t *testing.T) { //nolint:paralleltest
10401057
resp, err := apitest.InvokeHandler(ctx, endpoint.Execute, testMountOpts(t), &workflowListRequest{State: "active"})
10411058
require.NoError(t, err)
10421059
require.Len(t, resp.Data, 1)
@@ -1053,7 +1070,7 @@ func TestAPIHandlerWorkflowList(t *testing.T) {
10531070
require.Equal(t, job1.CreatedAt.UTC(), resp.Data[0].CreatedAt)
10541071
})
10551072

1056-
t.Run("Inactive", func(t *testing.T) {
1073+
t.Run("Inactive", func(t *testing.T) { //nolint:paralleltest
10571074
resp, err := apitest.InvokeHandler(ctx, endpoint.Execute, testMountOpts(t), &workflowListRequest{State: "inactive"})
10581075
require.NoError(t, err)
10591076
require.Len(t, resp.Data, 1)

internal/dbsqlc/db.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/dbsqlc/models.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/dbsqlc/pg_misc.sql.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/dbsqlc/query.sql.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)