Запись в файл с помощью System.cmd: into опция в Elixir - PullRequest
0 голосов
/ 14 марта 2020

Я хочу создать postgres дамп своей базы данных, используя System.cmd/3 и записать файл в локальную папку моего приложения Phoenix, но не могу заставить его работать. Я попытался использовать опцию "into".

Вот что я сделал:

System.cmd("pg_dump", ["myapp_dev"], into: "backup.sql")

1 Ответ

1 голос
/ 15 марта 2020
Параметр

:into, как четко указано в документах , действительно внедряет результат в заданную коллекцию, что означает, что выходные данные команды будут добавлены к переданной вами строке и возвращены обратно.

Проще сделать дамп в файл, используя встроенную опцию pg_dump --file, позволяя оболочке и pg_dump выполнять всю работу и не пропуская огромные сгустки назад и вперед. Ниже должно работать.

System.cmd("pg_dump", ["myapp_dev", "--file=backup.sql"])
...