Невозможно запустить миграцию из-за ошибки MySQL - PullRequest
2 голосов
/ 24 августа 2011

Пару дней я пытался настроить свою среду разработки на OS X, и у меня было много проблем с mysql.Я установил mysql через файл dmg, доступный на сайте mysql.Это исправило большинство проблем, которые у меня были.

Моя текущая проблема заключается в том, что при запуске «rake db: migrate» я получаю следующую ошибку:

rake aborted!
неопределенный метод `init 'для Mysql: Class

Я где-то читал, что использование gem' mysql2 'в Gemfile и mysql2 в качестве адаптера базы данных может решить проблему.Я пытался сделать это, но это не сработало.Следует отметить, что mysql не находится нигде в моей переменной PATH, поэтому ввод «mysql» в терминале приводит меня к / var / _mysql, что довольно странно.

Нужно ли добавить '/ usr / local / mysql / bin' к моей переменной пути?Если да, то как мне сделать это в OS X?

Спасибо.

РЕДАКТИРОВАТЬ: я добавил / usr / local / mysql / bin к моему пути, все еще с той же ошибкой.

Ответы [ 2 ]

4 голосов
/ 25 августа 2011

Чтобы решить эту проблему, я использовал камень mysql2 вместо камня mysql.Этот процесс был не совсем простым, поэтому я хотел опубликовать точные шаги, которые я предпринял на случай, если кому-то понадобится помощь позже.

Сначала загрузите DMG-файл OS X, соответствующий вашей версии OS X, с веб-сайта mysql.Вам нужно будет установить mysql, затем элемент автозагрузки и, наконец, панель настроек (все 3 из них были в файле DMG).

Затем вам нужно добавить mysql в переменную path.Я считаю, что вы можете отредактировать / etc / paths или добавить новый файл в /etc/paths.rd/, но в итоге я изменил файл конфигурации моего терминала.Я добавил следующую строку в ~ / .zshrc (это только для zsh, если вы используете bash, файл похож на ~ / .bashrc):

export PATH=[path:variables]:/usr/local/mysql/bin
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"

[путь: переменные] это просто местодержатель для всех других переменных пути, которые были там.Вторая строка - это то, что требовалось для работы гема mysql2.Вторая строка позволяет mysql найти требуемый файл библиотеки.

Далее замените или добавьте

gem 'mysql' 

на

gem 'mysql2', '< 0.3'

Требуется <0.3, в противном случае были выданы странные ошибки.(Извините, я не сохранил трассировку стека).Последний шаг - изменить ваши адаптеры базы данных на mysql2.Я надеюсь, что это может помочь кому-то избавить от головной боли:) </p>

0 голосов
/ 25 августа 2011

Я предлагаю вам полностью удалить MySQL и самоцветы MySQL.Затем установите менеджер пакетов Homebrew и используйте Homebrew для установки MySQL.После этого установите драгоценные камни.Доморощенный сделает вашу жизнь намного проще в ряде случаев.Особенно полезно, если вы не слишком уверены в установке библиотек C.

...