Skip to content

Commit 0e1e83a

Browse files
authored
v2.29.4 (#738)
<!-- CURSOR_SUMMARY --> > [!NOTE] > **Medium Risk** > Primarily dependency upgrades (notably `github.com/lib/pq` and ClickHouse client libs) plus a Go patch version bump, which could subtly change driver behavior/error formats at runtime. > > **Overview** > Bumps the module/release version to `2.29.4` and updates the Go version in `go.mod` from `1.24.0` to `1.24.1`. > > Refreshes several dependencies (notably `github.com/lib/pq`, `clickhouse-go`, `google.golang.org/api`, and various `golang.org/x/*` modules) and updates tests to match new driver behaviors: adds MySQL `mysqldump` version fixtures (8.3/9.6) and adjusts Postgres assertions to include SQLSTATE codes now present in `pq` error strings. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit f3414fe. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent 151de82 commit 0e1e83a

File tree

9 files changed

+1195
-1406
lines changed

9 files changed

+1195
-1406
lines changed

go.mod

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
module github.com/amacneil/dbmate/v2
22

3-
go 1.24.0
3+
go 1.24.1
44

55
toolchain go1.25.5
66

77
require (
88
cloud.google.com/go/bigquery v1.72.0
9-
github.com/ClickHouse/clickhouse-go/v2 v2.42.0
9+
github.com/ClickHouse/clickhouse-go/v2 v2.43.0
1010
github.com/go-sql-driver/mysql v1.9.3
1111
github.com/joho/godotenv v1.5.1
12-
github.com/lib/pq v1.10.9
12+
github.com/lib/pq v1.11.1
1313
github.com/mattn/go-sqlite3 v1.14.33
1414
github.com/stretchr/testify v1.11.1
1515
github.com/urfave/cli/v2 v2.27.7
1616
github.com/zenizh/go-capturer v0.0.0-20211219060012-52ea6c8fed04
17-
google.golang.org/api v0.259.0
17+
google.golang.org/api v0.264.0
1818
gorm.io/driver/bigquery v1.2.0
1919
)
2020

2121
require (
2222
cloud.google.com/go v0.123.0 // indirect
23-
cloud.google.com/go/auth v0.18.0 // indirect
23+
cloud.google.com/go/auth v0.18.1 // indirect
2424
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
2525
cloud.google.com/go/compute/metadata v0.9.0 // indirect
2626
cloud.google.com/go/iam v1.5.3 // indirect
2727
filippo.io/edwards25519 v1.1.0 // indirect
28-
github.com/ClickHouse/ch-go v0.69.0 // indirect
28+
github.com/ClickHouse/ch-go v0.71.0 // indirect
2929
github.com/andybalholm/brotli v1.2.0 // indirect
3030
github.com/apache/arrow/go/v15 v15.0.2 // indirect
3131
github.com/cespare/xxhash/v2 v2.3.0 // indirect
@@ -40,43 +40,43 @@ require (
4040
github.com/google/flatbuffers v25.12.19+incompatible // indirect
4141
github.com/google/s2a-go v0.1.9 // indirect
4242
github.com/google/uuid v1.6.0 // indirect
43-
github.com/googleapis/enterprise-certificate-proxy v0.3.9 // indirect
43+
github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect
4444
github.com/googleapis/gax-go/v2 v2.16.0 // indirect
4545
github.com/jinzhu/inflection v1.0.0 // indirect
4646
github.com/jinzhu/now v1.1.5 // indirect
47-
github.com/klauspost/compress v1.18.2 // indirect
47+
github.com/klauspost/compress v1.18.3 // indirect
4848
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
4949
github.com/paulmach/orb v0.12.0 // indirect
50-
github.com/pierrec/lz4/v4 v4.1.23 // indirect
50+
github.com/pierrec/lz4/v4 v4.1.25 // indirect
5151
github.com/pmezard/go-difflib v1.0.0 // indirect
5252
github.com/russross/blackfriday/v2 v2.1.0 // indirect
5353
github.com/segmentio/asm v1.2.1 // indirect
5454
github.com/shopspring/decimal v1.4.0 // indirect
55-
github.com/sirupsen/logrus v1.9.3 // indirect
55+
github.com/sirupsen/logrus v1.9.4 // indirect
5656
github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect
57-
github.com/zeebo/xxh3 v1.0.2 // indirect
57+
github.com/zeebo/xxh3 v1.1.0 // indirect
5858
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
5959
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 // indirect
6060
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 // indirect
6161
go.opentelemetry.io/otel v1.39.0 // indirect
6262
go.opentelemetry.io/otel/metric v1.39.0 // indirect
6363
go.opentelemetry.io/otel/trace v1.39.0 // indirect
6464
go.yaml.in/yaml/v3 v3.0.4 // indirect
65-
golang.org/x/crypto v0.46.0 // indirect
66-
golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect
67-
golang.org/x/mod v0.31.0 // indirect
68-
golang.org/x/net v0.48.0 // indirect
65+
golang.org/x/crypto v0.47.0 // indirect
66+
golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect
67+
golang.org/x/mod v0.32.0 // indirect
68+
golang.org/x/net v0.49.0 // indirect
6969
golang.org/x/oauth2 v0.34.0 // indirect
7070
golang.org/x/sync v0.19.0 // indirect
7171
golang.org/x/sys v0.40.0 // indirect
72-
golang.org/x/telemetry v0.0.0-20251222180846-3f2a21fb04ff // indirect
73-
golang.org/x/text v0.32.0 // indirect
72+
golang.org/x/telemetry v0.0.0-20260128140115-fcf36f686977 // indirect
73+
golang.org/x/text v0.33.0 // indirect
7474
golang.org/x/time v0.14.0 // indirect
75-
golang.org/x/tools v0.40.0 // indirect
75+
golang.org/x/tools v0.41.0 // indirect
7676
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
77-
google.golang.org/genproto v0.0.0-20251222181119-0a764e51fe1b // indirect
78-
google.golang.org/genproto/googleapis/api v0.0.0-20251222181119-0a764e51fe1b // indirect
79-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b // indirect
77+
google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 // indirect
78+
google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect
79+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect
8080
google.golang.org/grpc v1.78.0 // indirect
8181
google.golang.org/protobuf v1.36.11 // indirect
8282
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 42 additions & 42 deletions
Large diffs are not rendered by default.

pkg/dbmate/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
package dbmate
22

33
// Version of dbmate
4-
const Version = "2.29.3"
4+
const Version = "2.29.4"

pkg/driver/mysql/mysql_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,9 @@ func TestMysqldumpVersion(t *testing.T) {
163163
expected *mysqldumpVersion
164164
}{
165165
{"MySQL 5.7.44", "mysqldump", "mysqldump Ver 10.13 Distrib 5.7.44, for Linux (x86_64)", &mysqldumpVersion{DbType: "mysql", Version: 5.7, Command: "mysqldump"}},
166+
{"MySQL 8.3.0", "mysqldump", "mysqldump Ver 8.3.0 for macos13.6 on x86_64 (Homebrew)", &mysqldumpVersion{DbType: "mysql", Version: 8.3, Command: "mysqldump"}},
166167
{"MySQL 8.4.7", "mysqldump", "mysqldump Ver 8.4.7 for Linux on x86_64 (MySQL Community Server - GPL)", &mysqldumpVersion{DbType: "mysql", Version: 8.4, Command: "mysqldump"}},
168+
{"MySQL 9.6.0", "mysqldump", "mysqldump Ver 9.6.0 for macos26.2 on arm64 (Homebrew)", &mysqldumpVersion{DbType: "mysql", Version: 9.6, Command: "mysqldump"}},
167169
{"MariaDB 10.11.15", "mysqldump", "mysqldump Ver 10.19 Distrib 10.11.15-MariaDB, for debian-linux-gnu (x86_64)", &mysqldumpVersion{DbType: "mariadb", Version: 10.11, Command: "mysqldump"}},
168170
{"MariaDB 11.8.5", "mariadb-dump", "mariadb-dump from 11.8.5-MariaDB, client 10.19 for debian-linux-gnu (x86_64)", &mysqldumpVersion{DbType: "mariadb", Version: 11.8, Command: "mariadb-dump"}},
169171
{"MariaDB 12.0.2", "mariadb-dump", "mariadb-dump from 12.0.2-MariaDB, client 10.19 for debian-linux-gnu (x86_64)", &mysqldumpVersion{DbType: "mariadb", Version: 12.0, Command: "mariadb-dump"}},
@@ -206,6 +208,7 @@ func TestMySQLDumpArgs(t *testing.T) {
206208
// mysql://bob/mydb
207209
{"MySQL 5.7.44", "mysqldump", "mysqldump Ver 10.13 Distrib 5.7.44, for Linux (x86_64)", "mysql://bob/mydb", []string{"--opt", "--routines", "--no-data", "--skip-dump-date", "--skip-add-drop-table", "--ssl=false", "--host=bob", "mydb"}},
208210
{"MySQL 8.4.7", "mysqldump", "mysqldump Ver 8.4.7 for Linux on x86_64 (MySQL Community Server - GPL)", "mysql://bob/mydb", []string{"--opt", "--routines", "--no-data", "--skip-dump-date", "--skip-add-drop-table", "--ssl-mode=DISABLED", "--host=bob", "mydb"}},
211+
{"MySQL 9.6.0", "mysqldump", "mysqldump Ver 9.6.0 for macos26.2 on arm64 (Homebrew)", "mysql://bob/mydb", []string{"--opt", "--routines", "--no-data", "--skip-dump-date", "--skip-add-drop-table", "--ssl-mode=DISABLED", "--host=bob", "mydb"}},
209212

210213
// mysql://alice:pw@bob:5678/mydb
211214
{"MySQL 5.7.44", "mysqldump", "mysqldump Ver 10.13 Distrib 5.7.44, for Linux (x86_64)", "mysql://alice:pw@bob:5678/mydb", []string{"--opt", "--routines", "--no-data", "--skip-dump-date", "--skip-add-drop-table", "--ssl=false", "--host=bob", "--port=5678", "--user=alice", "--password=pw", "mydb"}},

pkg/driver/postgres/postgres_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ func TestPostgresCreateDropDatabase(t *testing.T) {
250250

251251
err = db.Ping()
252252
require.Error(t, err)
253-
require.Equal(t, "pq: database \"dbmate_test\" does not exist", err.Error())
253+
require.Equal(t, "pq: database \"dbmate_test\" does not exist (3D000)", err.Error())
254254
}()
255255
}
256256

@@ -350,7 +350,7 @@ func TestPostgresDatabaseExists_Error(t *testing.T) {
350350

351351
exists, err := drv.DatabaseExists()
352352
require.Error(t, err)
353-
require.Equal(t, "pq: password authentication failed for user \"invalid\"", err.Error())
353+
require.Equal(t, "pq: password authentication failed for user \"invalid\" (28P01)", err.Error())
354354
require.Equal(t, false, exists)
355355
}
356356

@@ -364,7 +364,7 @@ func TestPostgresCreateMigrationsTable(t *testing.T) {
364364
count := 0
365365
err := db.QueryRow("select count(*) from public.schema_migrations").Scan(&count)
366366
require.Error(t, err)
367-
require.Equal(t, "pq: relation \"public.schema_migrations\" does not exist", err.Error())
367+
require.Equal(t, "pq: relation \"public.schema_migrations\" does not exist at column 22 (42P01)", err.Error())
368368

369369
// create table
370370
err = drv.CreateMigrationsTable(db)
@@ -402,10 +402,10 @@ func TestPostgresCreateMigrationsTable(t *testing.T) {
402402
count := 0
403403
err = db.QueryRow("select count(*) from \"camelFoo\".\"testMigrations\"").Scan(&count)
404404
require.Error(t, err)
405-
require.Equal(t, "pq: relation \"camelFoo.testMigrations\" does not exist", err.Error())
405+
require.Equal(t, "pq: relation \"camelFoo.testMigrations\" does not exist at column 22 (42P01)", err.Error())
406406
err = db.QueryRow("select count(*) from public.\"testMigrations\"").Scan(&count)
407407
require.Error(t, err)
408-
require.Equal(t, "pq: relation \"public.testMigrations\" does not exist", err.Error())
408+
require.Equal(t, "pq: relation \"public.testMigrations\" does not exist at column 22 (42P01)", err.Error())
409409

410410
// create table
411411
err = drv.CreateMigrationsTable(db)
@@ -416,7 +416,7 @@ func TestPostgresCreateMigrationsTable(t *testing.T) {
416416
require.NoError(t, err)
417417
err = db.QueryRow("select count(*) from public.\"testMigrations\"").Scan(&count)
418418
require.Error(t, err)
419-
require.Equal(t, "pq: relation \"public.testMigrations\" does not exist", err.Error())
419+
require.Equal(t, "pq: relation \"public.testMigrations\" does not exist at column 22 (42P01)", err.Error())
420420

421421
// create table should be idempotent
422422
err = drv.CreateMigrationsTable(db)
@@ -444,7 +444,7 @@ func TestPostgresCreateMigrationsTable(t *testing.T) {
444444
count := 0
445445
err = db.QueryRow("select count(*) from \"camelSchema\".\"testMigrations\"").Scan(&count)
446446
require.Error(t, err)
447-
require.Equal(t, "pq: relation \"camelSchema.testMigrations\" does not exist", err.Error())
447+
require.Equal(t, "pq: relation \"camelSchema.testMigrations\" does not exist at column 22 (42P01)", err.Error())
448448

449449
// create table
450450
err = drv.CreateMigrationsTable(db)
@@ -457,7 +457,7 @@ func TestPostgresCreateMigrationsTable(t *testing.T) {
457457
// schema specified with migrations table name takes priority over search path
458458
err = db.QueryRow("select count(*) from foo.\"testMigrations\"").Scan(&count)
459459
require.Error(t, err)
460-
require.Equal(t, "pq: relation \"foo.testMigrations\" does not exist", err.Error())
460+
require.Equal(t, "pq: relation \"foo.testMigrations\" does not exist at column 22 (42P01)", err.Error())
461461

462462
// create table should be idempotent
463463
err = drv.CreateMigrationsTable(db)

0 commit comments

Comments
 (0)