Why does mysqldump need to be fully pathed when called from a controller or model?
- by Kris
When I call mysqldump from a controller or model I need to fully path the binary, when I call it from Rake I don't need to.
If I do not fully path I get a zero byte file...
I can confirm both processes are run using the same user.
# 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}"
If I call the Rake task from the action it also fails (zero byte file).
OS: Mac
Ruby 1.8.6
EDIT: I use Etc.getpwuid(Process.uid).name to get the User of the current process