add workflow_permanent_id and version to workflows table (#308)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>
This commit is contained in:
Kerem Yilmaz
2024-05-13 18:29:14 -07:00
committed by GitHub
parent aecce4a3a0
commit b959822c6e
3 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
"""Add workflow_permanent_id and version to workflows table
Revision ID: bf561125112f
Revises: 8792454ce498
Create Date: 2024-05-14 01:14:15.024575+00:00
"""
from typing import Sequence, Union
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision: str = "bf561125112f"
down_revision: Union[str, None] = "8792454ce498"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column("workflows", sa.Column("workflow_permanent_id", sa.String(), nullable=True))
op.add_column("workflows", sa.Column("version", sa.Integer(), nullable=True))
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column("workflows", "version")
op.drop_column("workflows", "workflow_permanent_id")
# ### end Alembic commands ###

View File

@@ -34,6 +34,7 @@ USER_PREFIX = "u"
STEP_PREFIX = "stp"
ARTIFACT_PREFIX = "a"
WORKFLOW_PREFIX = "w"
WORKFLOW_PERMANENT_ID_PREFIX = "wpid"
WORKFLOW_RUN_PREFIX = "wr"
WORKFLOW_PARAMETER_PREFIX = "wp"
AWS_SECRET_PARAMETER_PREFIX = "asp"
@@ -46,6 +47,11 @@ def generate_workflow_id() -> str:
return f"{WORKFLOW_PREFIX}_{int_id}"
def generate_workflow_permanent_id() -> str:
int_id = generate_id()
return f"{WORKFLOW_PERMANENT_ID_PREFIX}_{int_id}"
def generate_workflow_run_id() -> str:
int_id = generate_id()
return f"{WORKFLOW_RUN_PREFIX}_{int_id}"

View File

@@ -16,6 +16,7 @@ from skyvern.forge.sdk.db.id import (
generate_task_id,
generate_workflow_id,
generate_workflow_parameter_id,
generate_workflow_permanent_id,
generate_workflow_run_id,
)
from skyvern.forge.sdk.schemas.tasks import ProxyLocation
@@ -132,6 +133,9 @@ class WorkflowModel(Base):
modified_at = Column(DateTime, default=datetime.datetime.utcnow, onupdate=datetime.datetime.utcnow, nullable=False)
deleted_at = Column(DateTime, nullable=True)
workflow_permanent_id = Column(String, default=generate_workflow_permanent_id)
version = Column(Integer, default=1)
class WorkflowRunModel(Base):
__tablename__ = "workflow_runs"