Ошибка граблей Ruby on Rails

Править: Решенный проблема, благодаря этому сообщению форума: http://forums.aptana.com/viewtopic.php?f=20&t=7563&p=27407&hilit=libmysql.dll#p27407. Спасибо все!

Я начал изучать RoR и пытался использовать rake db:migrate но я продолжаю получать ту же ошибку. Я могу соединиться с использованием базы данных MySQL C:\dev\railslist>mysql -u root railslist_development -p. rake db:migrate --trace производит следующее:

C:\dev\railslist>rake db:migrate --trace
(in C:/dev/railslist)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
Mysql::Error: query: not connected: CREATE TABLE 'schema_migrations' ('version'
varchar(255) NOT NULL) ENGINE=InnoDB
C:/Ruby19/lib/ruby/gems/1.9.1/gems/activerecord-2.3.5/lib/active_record/connecti
on_adapters/abstract_adapter.rb:219:in 'rescue in log'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/activerecord-2.3.5/lib/active_record/connecti
on_adapters/abstract_adapter.rb:202:in 'log'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/activerecord-2.3.5/lib/active_record/connecti
on_adapters/mysql_adapter.rb:323:in 'execute'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/activerecord-2.3.5/lib/active_record/connecti
on_adapters/abstract/schema_statements.rb:114:in 'create_table'
...

Мой database.yml файл следующие:

development:
  adapter: mysql
  database: railslist_development
  username: root
  password: **********
  host: localhost

  ...

Править: Извините, я был перепутан там... Я могу соединиться с использованием базы данных MySQL mysql connect localhost - это производит длинный список команд и переменных. Также, если я вхожу mysql -h localhost -u root -p Я могу войти в подсказку MySQL. Таким образом разъясниться: Я могу соединиться с базой данных MySQL через командную строку, однако в RoR, Грабли производят ошибку.

6
задан blue_rubber_ducky 25 January 2010 в 20:07
поделиться

3 ответа

Это практически определенно потому, что ваш экземпляр MySQL не работает или вы не настроили Config / database.yml, чтобы быть указанным в правой базе данных для вашей среды (обычно развитие). Вот пара вещей, чтобы попробовать -

  • Проверьте свой Config / database.yml - Где ваш хост (если нет хоста Перечислены, это подключится к localhost)
  • Попробуйте запустить mysql -h localhost и Посмотрите, работает ли MySQL.

Редактировать: Если вы не можете подключиться к базе местных баз данных, то проблема в том, что не с рельсами. Убедитесь, что у вас он работает, и что ваши разрешения устанавливаются правильно, чтобы разрешить подключение с вашей машины. Кроме того, попробуйте подключиться к корню с локальной машины, чтобы увидеть, является ли это более гранулированная проблема (например, у вас есть локальные подключения, но не для пользователя, которые вы используете в Rails).

Редактировать 2: В этом случае ваша проблема, вероятно, состоит в том, что ваша база данных не была создана. Просто перейдите в командную строку и введите следующее:

root mysql -u root -p -e 'Создание базы данных Railslist_development; «

Это должно создать базу данных и позволить вам запускать свою миграцию.

1
ответ дан 16 December 2019 в 21:40
поделиться
-

Я не отвечаю на ваш вопрос как SE, но так как вы просто изучаете, почему бы не придерживаться проще всего SQLite?

2
ответ дан 16 December 2019 в 21:40
поделиться

БД не создается.

При использовании MySQL, перед запуском Rake DB: Migrate Вы должны создать db doing:

rake db:create

или создать базу данных вручную через команды SQL.

mysql -h localhost -u root -p
> CREATE DATABASE railslist_development;

Я надеюсь, что это поможет вам.

2
ответ дан 16 December 2019 в 21:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: