Ok, so I was going to try and implement a solution using the method
discussed here, but ran into a problem b/c I am using Elixir objects
and not declaring the tables directly.  Can I still use this method?
How do I get the table references from the Elixir objects?

Thanks.

On Aug 22, 1:48 pm, jason kirtland <[EMAIL PROTECTED]> wrote:
> Yep, though possibly you'd want it on before-drop.  You can actually
> handle both tasks in the same function if you like- the event name will
> be passed in as the first argument.
>
> Randy Syring wrote:
> > Jason,
>
> > Thank you for the response.  Using the method you suggest, am I
> > understanding correctly that fks_for_sqlite() would only be run when a
> > create() was processed for that table?  Also, I am assuming I would
> > need to create a complimentary function for handling the 'after-drop'
> > event.
>
> > On Aug 22, 1:25 pm, jason kirtland <[EMAIL PROTECTED]> wrote:
> >> DDL() has some simple templating capabilities that can help out a bit
> >> here, but I'd suggest taking the ForeignKey code Mike provided as a
> >> start and putting together an after-create listener using
> >> Table.append_ddl_listener directly:
>
> >>http://www.sqlalchemy.org/docs/05/sqlalchemy_schema.html#docstrings_s...
>
> >> It would look something like:
>
> >>    def fks_for_sqlite(event, table, bind):
> >>        for c in table.c:
> >>            for fk in c.foreign_keys:
> >>               sql = your_code_to_make_trigger_for_fk(fk)
> >>               bind.execute(sql)
>
> >>    tbl.append_ddl_listener('after-create', fks_for_sqlite)
>
> >> Michael Bayer wrote:
> >>> you can build this functionality using the DDL() construct provided by  
> >>> SQLAlchemy:
> >>>http://www.sqlalchemy.org/docs/05/sqlalchemy_schema.html#docstrings_s...
> >>> the ForeignKey objects on the table can be pulled out using:
> >>> for c in table.c:
> >>>    for fk in c.foreign_keys:
> >>>            do_something_with_fk(fk)
> >>> On Aug 22, 2008, at 11:19 AM, Randy Syring wrote:
> >>>> I would like sqlalchemy to generate triggers on an SQLite database to
> >>>> enforce foreign key relationships.  The method is documented here:
> >>>>http://www.sqlite.org/cvstrac/wiki?p=ForeignKeyTriggers
> >>>> and I have written a foreign key trigger generator here:
> >>>>http://rcs-comp.com/site/index.php/view/Utilities-SQLite_foreign_key_...
> >>>> Although it does not recognize the kind of references sqlalchemy
> >>>> generates in the CREATE TABLE statements.
> >>>> Anyway, the point of this post is that I would like to know how I
> >>>> should go about extending sqlalchemy so that when I use ForeignKey
> >>>> constructs in the metadata, create statements on the tables would also
> >>>> create the triggers and drop statements on the tables would drop the
> >>>> said triggers to enforce the Foreign Key relationship.
> >>>> Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to