def delete_table(self, table_name, cascade=True): qn = self.quote_name(table_name, upper = False) if cascade: self.execute('DROP TABLE %s CASCADE CONSTRAINTS PURGE;' % qn.upper()) else: self.execute('DROP TABLE %s;' % qn.upper()) self.execute('DROP SEQUENCE %s;'%get_sequence_name(qn))
def delete_table(self, table_name, cascade=True): qn = self.quote_name(table_name) if cascade: self.execute('DROP TABLE %s CASCADE CONSTRAINTS PURGE;' % qn) else: self.execute('DROP TABLE %s;' % qn) # If the table has an AutoField a sequence was created. sequence_sql = """ DECLARE i INTEGER; BEGIN SELECT COUNT(*) INTO i FROM USER_CATALOG WHERE TABLE_NAME = '%(sq_name)s' AND TABLE_TYPE = 'SEQUENCE'; IF i = 1 THEN EXECUTE IMMEDIATE 'DROP SEQUENCE "%(sq_name)s"'; END IF; END; /""" % {'sq_name': get_sequence_name(table_name)} self.execute(sequence_sql)