Miles,

You will need dm-constraints to do this.

http://github.com/datamapper/dm-more/tree/next/dm-constraints

With this in place, you can do something like

has n, :users, :constraint => :destroy

You can find all supported constraints in the docs for dm-constraints

I should mention though, that the above link is for the next branch
aka 0.10.0. If you're using dm-constraints-0.9.11, then there is a bug
(probably in extlib) which forces you to add the :constraint option
explicitly to *all* your "has" associations (whereas :constraint =>
:protect should be the default if you leave it out)

Which finally brings me to the point I wanted to bring up on this ML
for quite some time now.

Is this bug fixed in the next branch?

The problem with this is the following. Say I'm writing a plugin which
adds "has" associations to a model, then (with this behavior/bug) I'm
*forced* to add the :constraint option to every call to "has". This
isn't really a problem *if* dm would simply ignore this option in case
dm-constraints isn't available. However, from what I see in my current
app (which actually really confuses me), dm auto_migrates the foreign
keys, even though dm-constraints doesn't seem to get loaded !?! Here's
what I get when running merb -iv

mungo:trippings snusnu$ merb -iv
 ~ Running bootloaders...
Loading init file from /Users/snusnu/projects/github/trippings/config/init.rb
Loading 
/Users/snusnu/projects/github/trippings/config/environments/development.rb
 ~ Loaded DEVELOPMENT Environment...
 ~ Expanding RUBY_PATH...
 ~ loading gem 'merb-core' ...
 ~ loading gem 'merb-assets' ...
 ~ loading gem 'merb-cache' ...
 ~ loading gem 'merb-helpers' ...
 ~ loading gem 'merb-slices' ...
 ~ loading gem 'merb-auth-core' ...
 ~ loading gem 'merb-auth-more' ...
 ~ Registered slice 'MerbAuthSlicePassword' located at
/opt/local/lib/ruby/gems/1.8/gems/merb-auth-slice-password-1.0.11
 ~ loading gem 'merb-auth-slice-password' ...
 ~ loading gem 'merb_datamapper' ...
 ~ loading gem 'merb-param-protection' ...
 ~ loading gem 'merb-mailer' ...
 ~ loading gem 'merb-parts' ...
 ~ loading gem 'merb-flash' ...
 ~ loading gem 'data_objects' ...
 ~ loading gem 'do_sqlite3' ...
 ~ loading gem 'dm-core' ...
 ~ loading gem 'do_mysql' ...
 ~ loading gem 'dm-types' ...
 ~ loading gem 'dm-validations' ...
 ~ loading gem 'dm-aggregates' ...
 ~ loading gem 'dm-migrations' ...
 ~ loading gem 'dm-timestamps' ...
 ~ loading gem 'dm-is-remixable' ...
 ~ loading gem 'dm-is-list' ...
 ~ loading gem 'dm-is-state_machine' ...
 ~ loading gem 'dm-is-taggable' ...
 ~ loading gem 'dm-is-awesome_set' ...
 ~ loading gem 'dm-paperclip' ...
 ~ loading gem 'dm-sweatshop' ...
 ~ loading gem 'dm-is-rateable' ...
 ~ loading gem 'dm-is-commentable' ...
 ~ loading gem 'dm-is-localizable' ...
 ~ loading gem 'dm-accepts_nested_attributes' ...
 ~ loading gem 'merb_resource_controller' ...
 ~ loading gem 'texp' ...
 ~ loading gem 'tzinfo' ...


I can't see any dm-constraints in there, however, dm happily adds

ALTER TABLE  ... ADD CONSTRAINT .. FOREIGN_KEY ... REFERENCES ... ON
DELETE .. ON UPDATE

when I run DataMapper.auto_migrate!

what's happening there :)?

cheers
snusnu



On Tue, May 19, 2009 at 18:13, MilesTogoe <[email protected]> wrote:
>
> does datamapper support the command:
> has n, :users, :dependent => destroy
>
> I'm getting error on dependent
>
> >
>

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