def delete_all_tables(db): """ Delete all tables specified by inv. Note that other names can be present """ tbls = inv.get_inv_table_names() for tbl in tbls: try: delete_contents(db, tbl) delete_table(db, tbl) except Exception as e: inv.log_dest.error("Error deleting "+ tbl + ' ' +str(e))
def unsafe_delete_all_tables(db): """Delete inventory tables by name without checking this really is the inventory db use if inv.validate_mongod fails and you know some table is missing and you are sure db is the inventory""" tbls = inv.get_inv_table_names() for tbl in tbls: try: delete_contents(db, tbl, check=False) delete_table(db, tbl, check=False) except Exception as e: inv.log_dest.error("Error deleting "+ tbl + ' ' +str(e))
def delete_table(db, tbl_name, check=True): """Delete tbl_name (must be empty) """ #Grab the possible table names tbl_names = inv.get_inv_table_names() if tbl_name in tbl_names: try: assert(db[tbl_name].find_one() is None) #Check content is gone db[tbl_name].drop() except Exception as e: inv.log_dest.error("Error dropping "+ tbl_name+' '+ str(e))
def unsafe_delete_all_tables(db): """Delete inventory tables by name without checking this really is the inventory db use if inv.validate_mongod fails and you know some table is missing and you are sure db is the inventory""" tbls = inv.get_inv_table_names() for tbl in tbls: try: delete_contents(db, tbl, check=False) delete_table(db, tbl, check=False) except Exception as e: inv.log_dest.error("Error deleting " + tbl + ' ' + str(e))
def delete_all_tables(db): """ Delete all tables specified by inv Note that other names can be present, see inv.validate_mongod""" if not inv.validate_mongodb(db): raise TypeError("db does not match Inventory structure") return tbls = inv.get_inv_table_names() for tbl in tbls: try: delete_contents(db, tbl) delete_table(db, tbl) except Exception as e: inv.log_dest.error("Error deleting "+ tbl + ' ' +str(e))
def delete_all_tables(db): """ Delete all tables specified by inv Note that other names can be present, see inv.validate_mongod""" if not inv.validate_mongodb(db): raise TypeError("db does not match Inventory structure") return tbls = inv.get_inv_table_names() for tbl in tbls: try: delete_contents(db, tbl) delete_table(db, tbl) except Exception as e: inv.log_dest.error("Error deleting " + tbl + ' ' + str(e))
def delete_table(db, tbl_name, check=True): """Delete tbl_name (must be empty) """ if not inv.validate_mongodb(db) and check: raise TypeError("db does not match Inventory structure") return #Grab the possible table names tbl_names = inv.get_inv_table_names() if tbl_name in tbl_names: try: assert(db[tbl_name].find_one() is None) #Check content is gone db[tbl_name].drop() except Exception as e: inv.log_dest.error("Error dropping "+ tbl_name+' '+ str(e))
def delete_table(db, tbl_name, check=True): """Delete tbl_name (must be empty) """ if not inv.validate_mongodb(db) and check: raise TypeError("db does not match Inventory structure") return #Grab the possible table names tbl_names = inv.get_inv_table_names() if tbl_name in tbl_names: try: assert (db[tbl_name].find_one() is None) #Check content is gone db[tbl_name].drop() except Exception as e: inv.log_dest.error("Error dropping " + tbl_name + ' ' + str(e))
def delete_contents(db, tbl_name, check=True): """Delete contents of tbl_name """ #Grab the possible table names tbl_names = inv.get_inv_table_names() if tbl_name in tbl_names: try: db[tbl_name].remove() except Exception as e: inv.log_dest.error("Error deleting from "+ tbl_name+' '+ str(e)+", dropping") #Capped tables, e.g rollback, can only be dropped, so try that try: db[tbl_name].drop() except Exception as e: inv.log_dest.error("Error dropping "+ tbl_name+' '+ str(e))
def delete_all_tables(): """ Delete all tables specified by inv Note that other names can be present""" # TODO remove this completely??? # TODO this should create the list of tables to delete and do any checking it can they are correct tbls = inv.get_inv_table_names() for tbl in tbls: # Any possible checking here pass for tbl in tbls: try: delete_contents(tbl) except: pass
def delete_contents(db, tbl_name, check=True): """Delete contents of tbl_name """ if not inv.validate_mongodb(db) and check: raise TypeError("db does not match Inventory structure") return #Grab the possible table names tbl_names = inv.get_inv_table_names() if tbl_name in tbl_names: try: db[tbl_name].remove() except Exception as e: inv.log_dest.error("Error deleting from "+ tbl_name+' '+ str(e)+", dropping") #Capped tables, e.g rollback, can only be dropped, so try that try: db[tbl_name].drop() except Exception as e: inv.log_dest.error("Error dropping "+ tbl_name+' '+ str(e))
def delete_contents(db, tbl_name, check=True): """Delete contents of tbl_name """ if not inv.validate_mongodb(db) and check: raise TypeError("db does not match Inventory structure") return #Grab the possible table names tbl_names = inv.get_inv_table_names() if tbl_name in tbl_names: try: db[tbl_name].remove() except Exception as e: inv.log_dest.error("Error deleting from " + tbl_name + ' ' + str(e) + ", dropping") #Capped tables, e.g rollback, can only be dropped, so try that try: db[tbl_name].drop() except Exception as e: inv.log_dest.error("Error dropping " + tbl_name + ' ' + str(e))