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