Tai Truong
fix readme
d202ada
from langchain_community.utilities.sql_database import SQLDatabase
from sqlalchemy import create_engine
from sqlalchemy.pool import StaticPool
from langflow.custom import Component
from langflow.io import (
Output,
StrInput,
)
class SQLDatabaseComponent(Component):
display_name = "SQLDatabase"
description = "SQL Database"
name = "SQLDatabase"
icon = "LangChain"
inputs = [
StrInput(name="uri", display_name="URI", info="URI to the database.", required=True),
]
outputs = [
Output(display_name="SQLDatabase", name="SQLDatabase", method="build_sqldatabase"),
]
def clean_up_uri(self, uri: str) -> str:
if uri.startswith("postgres://"):
uri = uri.replace("postgres://", "postgresql://")
return uri.strip()
def build_sqldatabase(self) -> SQLDatabase:
uri = self.clean_up_uri(self.uri)
# Create an engine using SQLAlchemy with StaticPool
engine = create_engine(uri, poolclass=StaticPool)
return SQLDatabase(engine)