rake db:migrate为什么出现Mysql::Error: query: not connected错误

chocstarfish 2009-08-23 12:04:39
网上也没有搜到相关问题,请高手帮忙
trace如下:
C:\Users\Administrator\Documents\NetBeansProjects\MyDigger>rake db:migrate --trace
(in C:/Users/Administrator/Documents/NetBeansProjects/MyDigger)
** 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:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:212:in `log'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/mysql_adapter.rb:320:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/schema_statements.rb:114:in `create_table'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/mysql_adapter.rb:473:in `create_table'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/schema_statements.rb:320:in `initialize_schema_migrations_table'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/migration.rb:436:in `initialize'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/migration.rb:400:in `new'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/migration.rb:400:in `up'
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/migration.rb:383:in `migrate'
C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/tasks/databases.rake:116
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
C:/Ruby/bin/rake:19:in `load'
C:/Ruby/bin/rake:19
...全文
1725 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangluok 2011-11-16
  • 打赏
  • 举报
回复
同样的问题,我的为啥没能解决?
snowmancl434 2010-05-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 icanvas 的回复:]
引用 9 楼 dzstyle 的回复:
这是因为新版mysql的客户端连接库对rails 2.2的支持不够好导致的,解决办法是使用旧版的客户端连接库,也就是把旧版mysql的libmySQL.dll文件(该文件在mysql安装目录的bin文件夹下面)复制到ruby目录下的bin文件夹中就可以解决这个问题了。

外国论坛上有人使用这个配置可以正常解决:Ruby 1.8.6, Rails 2.3……
[/Quote]我也是这个问题,非常感谢!!!
icanvas 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dzstyle 的回复:]
这是因为新版mysql的客户端连接库对rails 2.2的支持不够好导致的,解决办法是使用旧版的客户端连接库,也就是把旧版mysql的libmySQL.dll文件(该文件在mysql安装目录的bin文件夹下面)复制到ruby目录下的bin文件夹中就可以解决这个问题了。

外国论坛上有人使用这个配置可以正常解决:Ruby 1.8.6, Rails 2.3.3, mysql 5.1.33
我的配置是:Ruby 1.8.6, Rails 2.3.2, mysql 5.0.67
[/Quote]

9楼是正解。支持一下。。
dzstyle 2009-09-10
  • 打赏
  • 举报
回复
这是因为新版mysql的客户端连接库对rails 2.2的支持不够好导致的,解决办法是使用旧版的客户端连接库,也就是把旧版mysql的libmySQL.dll文件(该文件在mysql安装目录的bin文件夹下面)复制到ruby目录下的bin文件夹中就可以解决这个问题了。

外国论坛上有人使用这个配置可以正常解决:Ruby 1.8.6, Rails 2.3.3, mysql 5.1.33
我的配置是:Ruby 1.8.6, Rails 2.3.2, mysql 5.0.67
Fireflyman 2009-08-31
  • 打赏
  • 举报
回复
如果是初学,建议用sqlite3作为你的development DataBase
taito 2009-08-25
  • 打赏
  • 举报
回复
根据这个提示
CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB


去你的数据库看下是不是这个表没有建立或者有问题。建议你删除这个表后再migrate
chocstarfish 2009-08-25
  • 打赏
  • 举报
回复
果然没这个表,这个表需要手动建立么?字段是什么啊?
taito 2009-08-24
  • 打赏
  • 举报
回复
错误提示数据库没有连接上。

1、mysql数据库开了吗
2、database.yml 文件打开看看,是不是数据的配置没有配置好
chocstarfish 2009-08-24
  • 打赏
  • 举报
回复
我用的是mysql5.1,是不是adapter不支持mysql5.1啊?
chocstarfish 2009-08-24
  • 打赏
  • 举报
回复
肯定打开了,配置也应该没问题,手动连接用query也能写进去数据
chocstarfish 2009-08-23
  • 打赏
  • 举报
回复
rails 是2.3.3的
wuguanlin 2009-08-23
  • 打赏
  • 举报
回复
帮顶

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧