2012-04-24 73 views

回答

2

如果您有兴趣深入了解源代码,可以通过修改lib/dbd/Mysql.rb文件来完成此操作。具体做法是:

begin 
    require 'rubygems' 
    gem 'mysql' 
    gem 'dbi' 
rescue LoadError => e 
end 

require 'dbi' 
require "mysql" 
require "thread" # for Mutex 

更改mysql s转换mysql2 S和重新安装宝石。在整个程序中可能会有更多的分散,所以请确保找到全部。

编辑: 你可以试试build/rake_task_lib.rb文件。特别是这块代码:

DBD_GEM_DEP_MAP = { 
    'pg'  => 'pg', 
    'mysql' => 'mysql', #change this to mysql2, or add mysql2 to the list 
    'sqlite' => 'sqlite-ruby', 
    'sqlite3' => 'sqlite3-ruby' 
} 
+0

我试过通过编辑该Mysql.rb文件。你提到的那个部分似乎是我发现的唯一需要'mysql'依赖的地方。它不工作。我得到的错误是'未初始化的常量MysqlError'。我试过注释掉执行'MyError = :: MysqlError'但是导致'未初始化常量Mysql'的行。 – oprogfrogo 2012-06-13 18:35:06

+0

我已经更新了我的答案,看看是否有帮助。 – 2012-06-13 18:41:42

+0

啊,有一个构建耙的任务。我从gem的源文件中做了一个'gem build rails-dbd-mysql-0.1.0.gem'并将它复制到本地目录。然后将其添加到我的Gemfile“gem'rails-dbd-mysql','0.1.0',:path =>'vendor/gems'”。谢谢安迪。似乎我不能奖励另外22个小时的赏金。但是我会进行测试和监控,然后奖励。 – oprogfrogo 2012-06-13 19:07:03

相关问题