Dear All,

Do I need to assign different key for each sub-model when I use single table 
inheritance of datamapper?

    class Action
      include DataMapper::Resource
      property :type, Discriminator, :key => true
      property :comment, String, :length => 140
      property :created_at, DateTime
      belongs_to :loan, :key => true
    end

    class Agreement < Action; end

I got a error as follow.

/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/adapters/dm-do-adapter.rb:70:in
 `execute_non_query': duplicate column name: type (DataObjects::SyntaxError)
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/adapters/dm-do-adapter.rb:70:in
 `block (2 levels) in upgrade_model_storage'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/adapters/dm-do-adapter.rb:64:in
 `map'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/adapters/dm-do-adapter.rb:64:in
 `block in upgrade_model_storage'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-do-adapter-1.0.2/lib/dm-do-adapter/adapter.rb:260:in
 `with_connection'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/adapters/dm-do-adapter.rb:63:in
 `upgrade_model_storage'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/auto_migration.rb:71:in
 `upgrade_model_storage'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/auto_migration.rb:143:in
 `auto_upgrade!'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/auto_migration.rb:145:in
 `auto_upgrade!'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/auto_migration.rb:45:in
 `block in repository_execute'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:69:in
 `block (2 levels) in each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:68:in
 `block in each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:67:in
 `each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:67:in
 `each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:69:in
 `block in each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:67:in
 `each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-core-1.0.2/lib/dm-core/support/descendant_set.rb:67:in
 `each'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/auto_migration.rb:44:in
 `repository_execute'
        from 
/Users/siegfried/.rvm/gems/ruby-1.9.2-p0/gems/dm-migrations-1.0.2/lib/dm-migrations/auto_migration.rb:27:in
 `auto_upgrade!'
        from models.rb:67:in `<module:Models>'
        from models.rb:15:in `<module:EIOU>'
        from models.rb:9:in `<main>'


Best regards,
Zhi-Qiang Lei
[email protected]

-- 
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.

Reply via email to