From e882f0854976eca52c18cf14d164da78553b96d2 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 1 Oct 2024 18:06:19 -0300 Subject: [PATCH] feat: add 'gradient' column to Flow model and database schema (#3944) Add 'gradient' column to Flow model and database schema --- ...3dbf656a499_add_gradient_column_in_flow.py | 41 +++++++++++++++++++ .../services/database/models/flow/model.py | 1 + 2 files changed, 42 insertions(+) create mode 100644 src/backend/base/langflow/alembic/versions/d3dbf656a499_add_gradient_column_in_flow.py diff --git a/src/backend/base/langflow/alembic/versions/d3dbf656a499_add_gradient_column_in_flow.py b/src/backend/base/langflow/alembic/versions/d3dbf656a499_add_gradient_column_in_flow.py new file mode 100644 index 000000000..b40c63d46 --- /dev/null +++ b/src/backend/base/langflow/alembic/versions/d3dbf656a499_add_gradient_column_in_flow.py @@ -0,0 +1,41 @@ +"""add gradient column in Flow + +Revision ID: d3dbf656a499 +Revises: e5a65ecff2cd +Create Date: 2024-09-27 09:35:19.424089 + +""" +from typing import Sequence, Union + +import sqlalchemy as sa +import sqlmodel +from alembic import op +from sqlalchemy.engine.reflection import Inspector + +from langflow.utils import migration + +# revision identifiers, used by Alembic. +revision: str = 'd3dbf656a499' +down_revision: Union[str, None] = 'e5a65ecff2cd' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + conn = op.get_bind() + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('flow', schema=None) as batch_op: + if not migration.column_exists(table_name='flow', column_name='gradient', conn=conn): + batch_op.add_column(sa.Column('gradient', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + + # ### end Alembic commands ### + + +def downgrade() -> None: + conn = op.get_bind() + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('flow', schema=None) as batch_op: + if migration.column_exists(table_name='flow', column_name='gradient', conn=conn): + batch_op.drop_column('gradient') + + # ### end Alembic commands ### diff --git a/src/backend/base/langflow/services/database/models/flow/model.py b/src/backend/base/langflow/services/database/models/flow/model.py index 0dbf957be..4b25c48be 100644 --- a/src/backend/base/langflow/services/database/models/flow/model.py +++ b/src/backend/base/langflow/services/database/models/flow/model.py @@ -28,6 +28,7 @@ class FlowBase(SQLModel): description: str | None = Field(default=None, sa_column=Column(Text, index=True, nullable=True)) icon: str | None = Field(default=None, nullable=True) icon_bg_color: str | None = Field(default=None, nullable=True) + gradient: str | None = Field(default=None, nullable=True) data: dict | None = Field(default=None, nullable=True) is_component: bool | None = Field(default=False, nullable=True) updated_at: datetime | None = Field(default_factory=lambda: datetime.now(timezone.utc), nullable=True)