Когда я вызываю mysqldump
с контроллера или модели, мне нужно полностью указать путь к двоичному файлу, когда я вызываю его из Rake, мне не нужно.
Если я не укажу полный путь, я получаю файл нулевого байта ...
Я могу подтвердить, что оба процесса выполняются одним и тем же пользователем.
# Works in a controller, model and Rake task
system "/usr/local/mysql/bin/mysqldump -u root #{w.database_name} > #{target_file}"
# Only works in a Rake task
system "mysqldump -u root #{w.database_name} > #{target_file}"
Если я вызываю задачу Rake из действия, она также завершается неудачно (файл нулевого байта).
ОС: Mac
Рубин 1.8.6
РЕДАКТИРОВАТЬ: я использую Etc.getpwuid(Process.uid).name
, чтобы получить пользователя текущего процесса