MCPcopy Create free account
hub / github.com/CL-lau/SQL-GPT / DatabaseManager

Class DatabaseManager

front/DatabaseManagerGUI.py:73–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71
72
73class DatabaseManager:
74 def __init__(self, db_urls):
75 self.engines = {db_name: create_engine(url) for db_name, url in db_urls.items()}
76 self.inspector = inspect(self.engines[next(iter(self.engines))]) # Use the first engine to inspect tables
77
78 def get_table_list(self, db_name):
79 self.inspector.bind = self.engines[db_name]
80 return self.inspector.get_table_names()
81
82 def get_column_list(self, db_name, table_name):
83 self.inspector.bind = self.engines[db_name]
84 columns = self.inspector.get_columns(table_name)
85 return [column['name'] for column in columns]
86
87 def execute_query(self, db_name, query):
88 engine = self.engines[db_name]
89 with engine.connect() as connection:
90 result = connection.execute(query)
91 return result.fetchall()
92
93
94if __name__ == "__main__":

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected