dm 0.10.1
mysql: 5.0.75-0ubuntu10.2-log (Ubuntu)
given a line in a model:
property :vars, Yaml
call DataMapper.auto_migrate! will cause exception:
/usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-core/
migrations.rb:147:in `execute_non_query': Column length too big for
column 'vars' (max = 21845); use BLOB or TEXT instead
(DataObjects::SQLError)
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/migrations.rb:147:in `create_model_storage'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/adapters/data_objects_adapter.rb:266:in `with_connection'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/migrations.rb:144:in `create_model_storage'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/migrations.rb:1166:in `create_model_storage'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/migrations.rb:1260:in `auto_migrate_up!'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/migrations.rb:49:in `send'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/migrations.rb:49:in `repository_execute'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/model/descendant_set.rb:33:in `each'
... 8 levels...
I looked into dm-types-0.10.1/lib/dm-types/yaml.rb, found the
following code:
module DataMapper
module Types
class Yaml < DataMapper::Type
primitive String
length 65535
lazy true
change `primitive String` to `primitive Text`, raise the following
exception:
/usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-core/
property.rb:784:in `initialize': +type+ was DataMapper::Types::Yaml,
which is not a supported type (ArgumentError)
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/model/property.rb:51:in `new'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/dm-core-0.10.1/lib/dm-
core/model/property.rb:51:in `property'
from /home/sliu/project/workflow/workflow/engine/execution.rb:9
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/
custom_require.rb:31:in `gem_original_require'
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/
custom_require.rb:31:in `require'
when I change back to `primitive String` and comment out the line
`length 65535`, it become OK.
I don't know the exact reason.
Hope someone help to indicate and fix it.
Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"DataMapper" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---