Править: Решенный проблема, благодаря этому сообщению форума: 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, Грабли производят ошибку.
Это практически определенно потому, что ваш экземпляр MySQL не работает или вы не настроили Config / database.yml, чтобы быть указанным в правой базе данных для вашей среды (обычно развитие). Вот пара вещей, чтобы попробовать -
Редактировать: Если вы не можете подключиться к базе местных баз данных, то проблема в том, что не с рельсами. Убедитесь, что у вас он работает, и что ваши разрешения устанавливаются правильно, чтобы разрешить подключение с вашей машины. Кроме того, попробуйте подключиться к корню с локальной машины, чтобы увидеть, является ли это более гранулированная проблема (например, у вас есть локальные подключения, но не для пользователя, которые вы используете в Rails).
Редактировать 2: В этом случае ваша проблема, вероятно, состоит в том, что ваша база данных не была создана. Просто перейдите в командную строку и введите следующее:
root mysql -u root -p -e 'Создание базы данных Railslist_development; «
Это должно создать базу данных и позволить вам запускать свою миграцию.
Я не отвечаю на ваш вопрос как SE, но так как вы просто изучаете, почему бы не придерживаться проще всего SQLite?
БД не создается.
При использовании MySQL, перед запуском Rake DB: Migrate
Вы должны создать db doing:
rake db:create
или создать базу данных вручную через команды SQL.
mysql -h localhost -u root -p > CREATE DATABASE railslist_development;
Я надеюсь, что это поможет вам.