DataMapper: using auto_migrate! with many-to-many dependencies?

Posted by pschuegr on Stack Overflow See other posts from Stack Overflow or by pschuegr
Published on 2010-05-20T07:56:59Z Indexed on 2010/05/20 8:00 UTC
Read the original article Hit count: 256

Hi,

I'm trying to migrate my app from MySql to Postgresql, using Rails3-pre and the latest DataMapper.

I have several models which are related through many-to-many relationships using :through => Resource, which means that DataMapper creates a join table with foreign keys for both models. I can't auto_migrate! these changes, because I keep getting this:

ERROR:  cannot drop table users because other objects depend on it
DETAIL:  constraint artist_users_owner_fk on table artist_users depends on table users
constraint site_users_owner_fk on table site_users depends on table users
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

I have tried everything I can think of, and thought I had things working when I added :constraint => :skip to the field definition, but I keep getting that error back when I try and run auto_migrate. I thought that :skip meant that it would ignore the dependents, but maybe that only applies for deleting rows and not dropping tables?

I should mention that I can run auto_migrate after i nuke the db once, but after that, errors.

Any suggestions or advice much appreciated.

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about datamapper