2009年2月22日日曜日

rake aborted! undefined method `each' for Mysql



Ruby on Railsのアプリケーション基盤として利用できる「BaseApp」をWindowsにインストールしました。
少しはまってしまったので、メモしておきます。

環境
  • Ruby 1.8.6
  • Ruby on Rails 2.2.2
  • gem 1.3.1
  • MySQL 5.1

1. BaseAppをダウンロードしてプロジェクトを設置する

2. データベースを作成する
# mysql -uroot -p
# create database baseapp_development default character set utf8;
3. データベースを作成する
# rake db:migrate
capistranoがインストールされてません。みたいなエラーが表示されたので、インストールする。
# gem install capistrano
# rake db:migrate
   rake aborted!
   undefined method `each' for #
MySQLライブラリ関係でまたエラーが発生・・・
「--trace」オプションで詳細なエラーを確認しました。
# rake db:migrate -- trace
Google先生に助けてもらって、このページに原因が書いてありました。
Ruby Forum

MySQL 5.1ではライブラリ関係でエラーが発生するみたいで、5.0系を再インストールしました。
# rake db:migrate
  == Baseapp: migrating
  ========================================================
  -- create_table(:settings, {:force=>true})
   -> 0.0940s
  -- create_table(:users)
   -> 0.0780s
  -- add_index(:users, :login, {:unique=>true})
   -> 0.1560s
  -- create_table(:profiles)
   -> 0.0780s
  -- create_table(:open_id_authentication_associations, {:force=>true})
   -> 0.0940s
  -- create_table(:open_id_authentication_nonces, {:force=>true})
   -> 0.1250s
  -- create_table(:roles)
   -> 0.0620s
  -- create_table(:roles_users, {:id=>false})
   -> 0.0940s
  == Baseapp: migrated (4.9380s)
  ===============================================
無事データベースが作成できて、画面を表示することができました。
これからBaseAppを研究して、いろいろ展開する予定です。


0 件のコメント: