Skip to content

Commit aeabc50

Browse files
committed
fix: avoid using pg_dump 17.0 or higher when generating schema
1 parent 62c7430 commit aeabc50

File tree

1 file changed

+21
-17
lines changed
  • coderd/database/dbtestutil

1 file changed

+21
-17
lines changed

coderd/database/dbtestutil/db.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"os/exec"
1111
"path/filepath"
1212
"regexp"
13-
"strconv"
1413
"strings"
1514
"testing"
1615
"time"
@@ -251,26 +250,31 @@ func PGDump(dbURL string) ([]byte, error) {
251250
return stdout.Bytes(), nil
252251
}
253252

254-
const minimumPostgreSQLVersion = 13
253+
const (
254+
minimumPostgreSQLVersion = 13
255+
postgresImageSha = "sha256:467e7f2fb97b2f29d616e0be1d02218a7bbdfb94eb3cda7461fd80165edfd1f7"
256+
)
255257

256258
// PGDumpSchemaOnly is for use by gen/dump only.
257259
// It runs pg_dump against dbURL and sets a consistent timezone and encoding.
258260
func PGDumpSchemaOnly(dbURL string) ([]byte, error) {
259261
hasPGDump := false
260-
if _, err := exec.LookPath("pg_dump"); err == nil {
261-
out, err := exec.Command("pg_dump", "--version").Output()
262-
if err == nil {
263-
// Parse output:
264-
// pg_dump (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
265-
parts := strings.Split(string(out), " ")
266-
if len(parts) > 2 {
267-
version, err := strconv.Atoi(strings.Split(parts[2], ".")[0])
268-
if err == nil && version >= minimumPostgreSQLVersion {
269-
hasPGDump = true
270-
}
271-
}
272-
}
273-
}
262+
// TODO: Temporarily pin pg_dump to the docker image until
263+
// https://github.com/sqlc-dev/sqlc/issues/4065 is resolved.
264+
// if _, err := exec.LookPath("pg_dump"); err == nil {
265+
// out, err := exec.Command("pg_dump", "--version").Output()
266+
// if err == nil {
267+
// // Parse output:
268+
// // pg_dump (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
269+
// parts := strings.Split(string(out), " ")
270+
// if len(parts) > 2 {
271+
// version, err := strconv.Atoi(strings.Split(parts[2], ".")[0])
272+
// if err == nil && version >= minimumPostgreSQLVersion {
273+
// hasPGDump = true
274+
// }
275+
// }
276+
// }
277+
// }
274278

275279
cmdArgs := []string{
276280
"pg_dump",
@@ -295,7 +299,7 @@ func PGDumpSchemaOnly(dbURL string) ([]byte, error) {
295299
"run",
296300
"--rm",
297301
"--network=host",
298-
fmt.Sprintf("%s:%d", postgresImage, minimumPostgreSQLVersion),
302+
fmt.Sprintf("%s:%d@%s", postgresImage, minimumPostgreSQLVersion, postgresImageSha),
299303
}, cmdArgs...)
300304
}
301305
cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) //#nosec

0 commit comments

Comments
 (0)