Exemple #1
0
 def add_foreign_key_constraint(self, table, column_name, rel, rel_column,
                                on_delete=None, on_update=None):
     constraint = 'fk_%s_%s_refs_%s' % (table, column_name, rel)
     ctx = (self
            .make_context()
            .literal('ALTER TABLE ')
            .sql(Entity(table))
            .literal(' ADD CONSTRAINT ')
            .sql(Entity(_truncate_constraint_name(constraint)))
            .literal(' FOREIGN KEY ')
            .sql(EnclosedNodeList((Entity(column_name),)))
            .literal(' REFERENCES ')
            .sql(Entity(rel))
            .literal(' (')
            .sql(Entity(rel_column))
            .literal(')'))
     if on_delete is not None:
         ctx = ctx.literal(' ON DELETE %s' % on_delete)
     if on_update is not None:
         ctx = ctx.literal(' ON UPDATE %s' % on_update)
     return ctx
Exemple #2
0
 def add_foreign_key_constraint(self, table, column_name, rel, rel_column,
                                on_delete=None, on_update=None):
     constraint = 'fk_%s_%s_refs_%s' % (table, column_name, rel)
     ctx = (self
            .make_context()
            .literal('ALTER TABLE ')
            .sql(Entity(table))
            .literal(' ADD CONSTRAINT ')
            .sql(Entity(_truncate_constraint_name(constraint)))
            .literal(' FOREIGN KEY ')
            .sql(EnclosedNodeList((Entity(column_name),)))
            .literal(' REFERENCES ')
            .sql(Entity(rel))
            .literal(' (')
            .sql(Entity(rel_column))
            .literal(')'))
     if on_delete is not None:
         ctx = ctx.literal(' ON DELETE %s' % on_delete)
     if on_update is not None:
         ctx = ctx.literal(' ON UPDATE %s' % on_update)
     return ctx