2011-06-20 2 views
2

Bonjour J'ai besoin de colonnes enum dans mes tables et j'ai donc essayé d'utiliser cette gemme. Mais quand j'essaye de faire la migration, j'ai ceci et je n'ai aucune idée de ce qu'il faut faire.enum_column problème de gem

rake db:migrate --trace 
rake aborted! 
undefined method `type_to_sql' for module `ActiveRecord::ConnectionAdapters::SchemaStatements' 
/var/lib/gems/1.8/gems/enum_column-0.1.6/lib/enum_column/schema_statements.rb:4 
/var/lib/gems/1.8/gems/enum_column-0.1.6/lib/enum_column.rb:7:in `require' 
/var/lib/gems/1.8/gems/enum_column-0.1.6/lib/enum_column.rb:7 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:68:in `require' 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:68:in `require' 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:66:in `each' 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:66:in `require' 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:55:in `each' 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:55:in `require' 
/var/lib/gems/1.8/gems/bundler-1.0.15/lib/bundler.rb:120:in `require' 
/var/www/my_app/config/application.rb:7 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/var/www/my_app/Rakefile:4 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:78:in `load_rakefile' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:61:in `run' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/var/lib/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/var/lib/gems/1.8/gems/rake-0.9.2/bin/rake:32 
/var/lib/gems/1.8/bin/rake:19:in `load' 
/var/lib/gems/1.8/bin/rake:19 

Version

rails -v 
Rails 3.0.9 
ruby -v 
ruby 1.8.7 (2010-08-16 patchlevel 302) [i486-linux] 
+0

Le problème était que cette gemme ne fonctionne pas avec les rails 3. – Ximik

Répondre

1

Ceci est une vieille question (presque 2 ans), mais depuis que je suis venu ici à la recherche de quelque chose de semblable, je pense que quelqu'un d'autre peut avoir cette question car il est pas documenté sur la gemme.

Comme vous ne mentionne pas comment était votre migration, je donnerai une solution générique:

Tout en utilisant dans votre migration devrait fonctionner:

def up 
    change_column :table, :sex, :enum, :limit => ['Male','Female','Unknown'], :default => 'Unknown' 
end 

Cela devrait fonctionner!

Questions connexes