Am Donnerstag, 12. Februar 2015 21:02:21 UTC+1 schrieb Michael Bayer:
>
>
>
> Torsten Irländer <torsten....@googlemail.com <javascript:>> wrote: 
>
> > 
> > 
> > Am Donnerstag, 12. Februar 2015 18:57:43 UTC+1 schrieb Michael Bayer: 
> > 
> > 
> > Torsten Irländer <torsten....@googlemail.com> wrote: 
> > 
> > > Hi, 
> > > 
> > > I have a similar prolem as described in 
> > > https://groups.google.com/forum/#!topic/sqlalchemy/OLeCERDZxyk 
> > > 
> > > I am using the secondary attribute to define the many-to-many 
> relationship between User and Groups. 
> > > 
> > > Now i want prevent to delete a group if a user is still in the group. 
> Setting the Foreign-Key to "nullable=False" as advised in the post above 
> does not work for me on SQLAlchemy level. It does work when trying to 
> delete the Group directly in Postgres (Error ist raised). I am using no 
> cascading deletes in the relation definition. 
> > 
> > when you say “prevent”, do you mean, session.delete() will silently do 
> nothing, or that an error is raised (or how exactly are these deletes 
> originating)?  If the database is set up with constraints as you describe, 
> then it would raise constraint violations.   Or are you looking for some 
> error message to be raised sooner? 
> > 
> > Prevent means raise an error which could be excepted (and optionally 
> analysed) to show the user some feedback that the deletion of the groups 
> can not be done because there are still referencing objects. 
> > The deletion is done by a session.delete(). 
>
> What’s wrong with the IntegrityException here?  Not specific enough?   I’d 
> recommend parsing the string message within it to determine its cause - 
> this is a feasible approach that we use widely with openstack.    The 
> exceptions that relate to this particular violation will be predictable.   
>   The database does a great job of catching this error, so efforts for 
> SQLAlchemy to do the same thing would be redundant. 
>

Nothing is wrong with the IntegrityException if this Exception is actually 
raised :) That is currently my problem: I except such an exception but it 
isn't raised. Instead the group is deleted (including all entries for this 
group in the secondary table) although still having users referencing the 
group. 

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to