def drop_constraint(self, constraint): if constraint.requires_triggers(): self.add_commands(self.drop_constr_trigger(self.name, constraint)) proc_name = constraint.get_trigger_procname() self.add_commands(self.drop_constr_trigger_function(proc_name)) # Drop the constraint normally from our table # my_alter = dbops.AlterTable(self.name) drop_constr = AlterTableDropMultiConstraint(constraint=constraint) my_alter.add_command(drop_constr) self.add_command(my_alter)
def drop_constraint(self, constraint): if not constraint.is_natively_inherited(): self.add_commands(self.drop_constr_trigger(self.name, constraint)) # Drop trigger function # proc_name = constraint.get_trigger_procname() self.add_commands(self.drop_constr_trigger_function(proc_name)) # Drop the constraint normally from our table # my_alter = dbops.AlterTable(self.name) drop_constr = AlterTableDropMultiConstraint(constraint=constraint) my_alter.add_command(drop_constr) self.add_command(my_alter)
def create_constraint(self, constraint): # Add the constraint normally to our table # my_alter = dbops.AlterTable(self.name) add_constr = AlterTableAddMultiConstraint(constraint=constraint) my_alter.add_command(add_constr) self.add_command(my_alter) if constraint.requires_triggers(): # Create trigger function self.add_commands(self.create_constr_trigger_function(constraint)) # Add a (disabled) inheritable trigger on self. # Trigger inheritance will propagate and maintain # the trigger on current and future descendants. proc_name = constraint.get_trigger_procname() cr_trigger = self.create_constr_trigger( self.name, constraint, proc_name) self.add_commands(cr_trigger)
def create_constraint(self, constraint): # Add the constraint normally to our table # my_alter = dbops.AlterTable(self.name) add_constr = AlterTableAddMultiConstraint(constraint=constraint) my_alter.add_command(add_constr) self.add_command(my_alter) if constraint.requires_triggers(): # Create trigger function self.add_commands(self.create_constr_trigger_function(constraint)) proc_name = constraint.get_trigger_procname() cr_trigger = self.create_constr_trigger( self.name, constraint, proc_name) self.add_commands(cr_trigger) if constraint.can_disable_triggers(): self.add_commands( self.disable_constr_trigger(self.name, constraint))
def create_constraint(self, constraint): # Add the constraint normally to our table # my_alter = dbops.AlterTable(self.name) add_constr = AlterTableAddMultiConstraint(constraint=constraint) my_alter.add_command(add_constr) self.add_command(my_alter) if not constraint.is_natively_inherited(): # The constraint is not inherited by descendant tables natively, # use triggers to emulate inheritance. # Create trigger function self.add_commands(self.create_constr_trigger_function(constraint)) # Add a (disabled) inheritable trigger on self. # Trigger inheritance will propagate and maintain # the trigger on current and future descendants. proc_name = constraint.get_trigger_procname() cr_trigger = self.create_constr_trigger(self.name, constraint, proc_name) self.add_commands(cr_trigger)