codekingpro/portable-devtools
114k
1##########################################################################2#3# pgAdmin 4 - PostgreSQL Tools4#5# Copyright (C) 2013 - 2024, The pgAdmin Development Team6# This software is released under the PostgreSQL Licence7#8##########################################################################9 10from pgadmin.model import db11 12 13def get_db_table_names():14 db_table_names = db.metadata.tables.keys() if db.metadata.tables else 015 return db_table_names16 17 18def check_db_tables():19 is_error = False20 invalid_tb_names = list()21 db_table_names = get_db_table_names()22 # check table is actually present in the db.23 for table_name in db_table_names:24 try:25 if not db.inspect(db.engine).has_table(table_name=table_name):26 invalid_tb_names.append(table_name)27 is_error = True28 except AttributeError:29 if not db.engine.dialect.has_table(db.engine, table_name):30 invalid_tb_names.append(table_name)31 is_error = True32 33 if is_error:34 return True, invalid_tb_names35 else:36 return False, invalid_tb_names37 