venerdì 27 luglio 2012

Problema db:migrate con mysql2

All'esecuzione di rake db:migrate si verifica questo errore :


rake aborted!
An error has occurred, all later migrations canceled:
undefined method `rows' for nil:NilClass
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
$ rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:migrate
==  CreateSessions: migrating =================================================
-- create_table(:sessions)
   -> 0.1164s
==  CreateSessions: migrated (0.1165s) ========================================
rake aborted!
An error has occurred, all later migrations canceled:
undefined method `rows' for nil:NilClass
/Users/leobenelli/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/whiny_nil.rb:48:in `method_missing'
Come risultato viene creato l'oggetto del Migrate ma poi non riesce ad aggiungere, il punto di versione su schema_migrations.

Il problema e' dovuto ad un'incompatibilita' di versione della gem di Mysql2.

Con Rails 3.1.1, provate varie versioni del gem mysql2, tra le quali 0.2.7, 0.3.11, ma alla fine quella che mi ha funzionato e' la 0.3.7.
Quindi aggiunto nel Gemfile la riga :
gem 'mysql2', '0.3.7'

Nessun commento:

Posta un commento