From 3f07a39f5b03dffe75066fc4f078dc449fbf7b6f Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 29 Apr 2024 11:26:45 -0300 Subject: [PATCH] Fix created_at field type in Variable and ApiKey models (#1792) * Fix created_at field type in Variable model * Fix created_at field type in ApiKey model * Fix error handling in add_row_to_table function #1790 * Apply type hinting to nest_asyncio import in load.py --- src/backend/base/langflow/processing/load.py | 2 +- .../langflow/services/database/models/api_key/model.py | 2 +- .../langflow/services/database/models/variable/model.py | 2 +- src/backend/base/langflow/services/monitor/utils.py | 8 +++++++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/backend/base/langflow/processing/load.py b/src/backend/base/langflow/processing/load.py index f6781fe2d..cf354c3b3 100644 --- a/src/backend/base/langflow/processing/load.py +++ b/src/backend/base/langflow/processing/load.py @@ -104,7 +104,7 @@ def run_flow_from_json( """ # Set all streaming to false try: - import nest_asyncio + import nest_asyncio # type: ignore nest_asyncio.apply() except Exception as e: diff --git a/src/backend/base/langflow/services/database/models/api_key/model.py b/src/backend/base/langflow/services/database/models/api_key/model.py index ee0d1e71d..be4e3ed4d 100644 --- a/src/backend/base/langflow/services/database/models/api_key/model.py +++ b/src/backend/base/langflow/services/database/models/api_key/model.py @@ -22,7 +22,7 @@ class ApiKeyBase(SQLModel): class ApiKey(ApiKeyBase, table=True): id: UUID = Field(default_factory=uuid4, primary_key=True, unique=True) - created_at: datetime = Field( + created_at: Optional[datetime] = Field( default=None, sa_column=Column(DateTime(timezone=True), server_default=func.now(), nullable=False) ) api_key: str = Field(index=True, unique=True) diff --git a/src/backend/base/langflow/services/database/models/variable/model.py b/src/backend/base/langflow/services/database/models/variable/model.py index 1fab92b4c..e253bb665 100644 --- a/src/backend/base/langflow/services/database/models/variable/model.py +++ b/src/backend/base/langflow/services/database/models/variable/model.py @@ -25,7 +25,7 @@ class Variable(VariableBase, table=True): description="Unique ID for the variable", ) # name is unique per user - created_at: datetime = Field( + created_at: Optional[datetime] = Field( default=None, sa_column=Column(DateTime(timezone=True), server_default=func.now(), nullable=True), description="Creation time of the variable", diff --git a/src/backend/base/langflow/services/monitor/utils.py b/src/backend/base/langflow/services/monitor/utils.py index a71653e82..7b6948c1a 100644 --- a/src/backend/base/langflow/services/monitor/utils.py +++ b/src/backend/base/langflow/services/monitor/utils.py @@ -101,10 +101,16 @@ def add_row_to_table( conn.execute(insert_sql, values) except Exception as e: # Log values types + column_error_message = "" for key, value in validated_dict.items(): logger.error(f"{key}: {type(value)}") + if value in str(e): + column_error_message = f"Column: {key} Value: {value} Error: {e}" - logger.error(f"Error adding row to table: {e}") + if column_error_message: + logger.error(f"Error adding row to {table_name}: {column_error_message}") + else: + logger.error(f"Error adding row to {table_name}: {e}") async def log_message(