2011-06-20 59 views
2

你好,我需要枚舉列在我的表中,所以我試圖使用這個寶石。但是,當我嘗試進行遷移時,我有這個,不知道該怎麼做。enum_column 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 

版本

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

問題是這個寶石不適用於軌道3。 – Ximik

回答

1

這是一個老問題(近2年),但自從我來到這裏尋找類似的東西,我覺得別人可以有這樣的問題,因爲它沒有記錄上寶石。

由於您沒有說明如何爲您的遷移,我會給出一個通用的解決方案:

就用這個在遷移應該工作:

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

這應該工作!