Spaces:
Sleeping
Sleeping
| from sqlalchemy import create_engine , inspect | |
| from langchain_core.documents import Document | |
| def create_scheme(database_url : str) -> list[dict] : | |
| scheme_docs = [] | |
| engine = create_engine(database_url) | |
| inspector = inspect(engine) | |
| tables = inspector.get_table_names() | |
| for table in tables : | |
| clean_table = table.replace("_" , " ") | |
| columns = inspector.get_columns(table) | |
| clean_columns = [] | |
| for col in columns : | |
| clean_col = col['name'].replace("_" , " ") | |
| clean_columns.append(clean_col) | |
| doc = f"Table: {clean_table}.\nColumns: {', '.join(clean_columns)}" | |
| scheme_docs.append( | |
| Document( | |
| page_content=doc, | |
| metadata={ | |
| "table_name" : table | |
| } | |
| ) | |
| ) | |
| return scheme_docs | |