2
私はrails-dbd-mysqlをバンドルしようとしていますが、新しいmysql2 gemではなく古いmysql gemをインストールしようとしています。 mysql2でこの作業をするにはどうすればいいですか?Rails 3 - rails-dbd-mysql gemはmysql2ではなくmysqlに依存します
私はrails-dbd-mysqlをバンドルしようとしていますが、新しいmysql2 gemではなく古いmysql gemをインストールしようとしています。 mysql2でこの作業をするにはどうすればいいですか?Rails 3 - rails-dbd-mysql gemはmysql2ではなくmysqlに依存します
ソースコードのダイビングに興味がある場合は、lib/dbd/Mysql.rbファイルを変更してください。具体的に:
begin
require 'rubygems'
gem 'mysql'
gem 'dbi'
rescue LoadError => e
end
require 'dbi'
require "mysql"
require "thread" # for Mutex
変更mysql2
秒にmysql
秒と宝石を再インストールしてください。プログラム全体に散らばっている可能性がありますので、Find Allを実行してください。
: 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'
}
このMysql.rbファイルを編集してみました。あなたが言及したセクションは、mysqlの依存関係が必要な場所で見つかった唯一の場所と思われます。動いていない。私が得るエラーは '初期化されていない定数MysqlError'です。私は 'MyError = :: MysqlError'を実行する行をコメントアウトしようとしましたが、 '初期化されていない定数Mysql'につながります。 – oprogfrogo
私は自分の答えを更新しました。 –
ああ、レイク作成タスクがありました。 gemのソースファイルから「gem build rails-dbd-mysql-0.1.0.gem」を実行し、それをローカルディレクトリにコピーしました。次に、これを私のGemfile "gem 'rails-dbd-mysql'、 '0.1.0'、:path => 'vendor/gems'"に追加しました。 Andyに感謝します。もう22時間賞金を授与できないようです。しかし、私はテストし、監視し、報酬を与えます。 – oprogfrogo