В ruby-1.8.7-p302
, когда я делаю
exec "mysql -u root --password=****** onc_test < support/submission.sql"
Я получаю неожиданный выход, независимо от того, выполняю ли я его в Rails, Rails консоли или IRB. Я бегу mysql Ver 14.14 Distrib 5.1.53, for apple-darwin10.4.0 (i386) using readline 6.1
Кстати,
exec "mysqldump -u root --password=****** onc_test > support/submission.sql"
отлично работает.
Я собираюсь размышлять о том, может ли exec обернуть его тем, что его нарушает.
Вы пытались использовать обратные ссылки?
`mysql -u root --password=****** onc_test < support/submission.sql`
Проверьте, что вывод
exec
вызывает немедленный выход, потому что это то, что он делает. Он немедленно выходит из рубинового процесса. Из документа Kernel на rubydoc:
Заменяет текущий процесс, запустив данную внешнюю команду.
Используйте backticks или system
, если вы хотите сохранить свой рубиновый процесс. Что касается импорта mysql не работает, попробуйте дать ему абсолютный путь к дампу sql.