Ruby exec "mysql -u root ... <some.sql" не работает - PullRequest
0 голосов
/ 01 марта 2011

В 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"

отлично работает.

Ответы [ 2 ]

2 голосов
/ 01 марта 2011

Я собираюсь поразмышлять над тем, чтобы, возможно, exec обернул его чем-то, что его сломало

Вы пробовали использовать обратные метки?

`mysql -u root --password=****** onc_test < support/submission.sql`

Проверьте, что вывод

1 голос
/ 01 марта 2011

exec вызывает немедленный выход, потому что это то, что он делает. Это немедленно выходит из вашего рубинового процесса. Из документации ядра на Rubydoc:

Заменяет текущий процесс, выполнив данную внешнюю команду.

Используйте обратные галочки или system, если хотите сохранить процесс рубина живым. Так как импорт mysql не работает, попробуйте указать абсолютный путь к дампу sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...