heroku / heroku/cli

pg:pull with --exclude-table-data does not work on Windows

Open
#1,986 4 comments 0 reactions 0 assignees View on GitHub
bug on-call reviewed
Dominant language
TypeScript
Stars
889
Forks
236
Avg merge
2d 10h
Merged PRs (30d)
33

Description

Do you want to request a feature or report a bug?
-----------------------------
This is a bug report for Windows. This same command works as expected on Mac.

Heroku Version: heroku/7.60.1 win32-x64 node-v14.19.0
OS: Windows 10 OS Build(19044.1645)

This bug happens due to the generation of the `pg_dump` child process args. The resulting child process call for windows looks something like:

```
C:\WINDOWS\system32\cmd.exe /d /s /c "pg_dump --verbose -F c -Z 0 -N _heroku -U -h localhost -p --exclude-table-data=table1 --exclude-table-data=table2'
```

It looks like pg_dump on Windows expects the dbname to be the last part of the command.

What is the current behavior?
-----------------------------
Running `heroku pg:pull --exclude-table-data "table1;table2"` results in an error with `pg_dump`.

`pg_dump: error too many command-line arguments first is "--exclude-table-data=table1"`

What is the expected behavior?
------------------------------
Expected behaviour is to pull the database without data from the specified tables

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.