2011-01-16 3 views
1

Я недавно обновлен до Rails 3 и я получаю следующую проблему при попытке запустить rake db:create создать базу данных MySQL из которых был определен в database.ymlRails 3 Mysql грабли БД: создать вопрос

Некоторая информация о моей установке:

работает ирбиса рельсы камень 3.0.3 тузд драгоценный камень v2.8.1 MySQL 5.5.8

Я представил этот вопрос:

$ рейка дб: создать

(в/Users/elliottheis/Сайты/demoProject)

рейка прервана!

неинициализированным постоянная Mysql :: Ошибка

(Полный след, выполнив задачу с --trace)

Кто-нибудь есть какие-либо идеи, как решить эту проблему, это сводит меня с ума!

+1

В чем проблема? – sevenseacat

+0

@ Karpie d'oh, см. Пересмотренное править выше – Elliot

+0

Какой результат для 'rake db: create -trace'? – Dogbert

ответ

1

Убедитесь, что Mysql находится в вашем Gemfile, а database.yml настроен для Mysql. Неинициализированная константа просто и, скорее всего, всегда будет означать, что вы не сказали Rails, где ее найти. Это вы можете ввести mysql -uroot в Terminal и посмотреть версию, тогда вы знаете, что MySql в порядке. Попытайтесь опубликовать немного больше информации, и мы увидим, не можем ли мы разобраться в этом.

грабли -r MySQL БД: создать --trace

Если это не сработает, то что-то пошло не так в установке. Попробуй это.

Удаление Mysql - Выполните следующие instructions Переустановка Mysql - Следуйте этим instructions

Дайте нам знать, как вы получите дальше и сказать нам решение, когда вы его получите. Все самое лучшее

+0

Это уже требуется в gemfile «gem» mysql ',: require =>' mysql '', и mysql отлично работает, он просто получает рельсы для взаимодействия с ним ... snippet from database.yml "development: adapter: mysql база данных: demoProject_dev хост: localhost пользователь: root пароль: " – Elliot

+0

type bundle exec rake -vT и посмотреть, есть ли rake db: create есть - если это try bundle exec rake db: crate – CharlesJHardy

+0

Он там есть. Однако при запуске «bundle exec rake db: create» я все равно получаю ту же самую ошибку, сброшенную обратно – Elliot

1

Я знаю, что на это уже был дан ответ, но на случай, если это произойдет с кем-то другим, моя проблема была идентична проблеме Эллиота.

Однако мое исправление вращалось вокруг использования MySQL гема 2.8 и Snow Leopard, которая, которая объяснена в another Stackoverflow thread:

Как выясняется, что класс не должен существовать; сообщение об ошибке вызвано проблемой с последним драйвером Mysql. mysql-2.8.1 просмотрел для моих библиотек в каталоге с дополнительным уровнем «mysql» в конце. Например, мои библиотеки (в MacOS X 10.5.8) находятся в /usr/local/mysql/lib, но библиотека mysql.bundle ищет библиотеки MySQL в/usr/local/mysql/lib/mysql ... что неправильно.

Так что мне нужно было установить версию mysql gem до 2.8. Следуйте инструкциям на странице this Web site, и ваша проблема должна быть решена.

Смежные вопросы