diff --git a/skyvern/forge/sdk/db/id.py b/skyvern/forge/sdk/db/id.py index 36efab2a1b..2fa97704df 100644 --- a/skyvern/forge/sdk/db/id.py +++ b/skyvern/forge/sdk/db/id.py @@ -36,6 +36,7 @@ WORKFLOW_PREFIX = "w" WORKFLOW_PERMANENT_ID_PREFIX = "wpid" WORKFLOW_RUN_PREFIX = "wr" +WORKFLOW_RUN_BLOCK_PREFIX = "wrb" WORKFLOW_PARAMETER_PREFIX = "wp" AWS_SECRET_PARAMETER_PREFIX = "asp" OUTPUT_PARAMETER_PREFIX = "op" @@ -56,6 +57,11 @@ def generate_workflow_permanent_id() -> str: def generate_workflow_run_id() -> str: + int_id = generate_id() + return f"{WORKFLOW_RUN_BLOCK_PREFIX}_{int_id}" + + +def generate_workflow_run_block_id() -> str: int_id = generate_id() return f"{WORKFLOW_RUN_PREFIX}_{int_id}" diff --git a/skyvern/forge/sdk/db/models.py b/skyvern/forge/sdk/db/models.py index d99d0c1956..6f9876f291 100644 --- a/skyvern/forge/sdk/db/models.py +++ b/skyvern/forge/sdk/db/models.py @@ -35,6 +35,7 @@ generate_workflow_id, generate_workflow_parameter_id, generate_workflow_permanent_id, + generate_workflow_run_block_id, generate_workflow_run_id, ) from skyvern.forge.sdk.schemas.tasks import ProxyLocation @@ -479,7 +480,7 @@ class WorkflowRunBlockModel(Base): __tablename__ = "workflow_run_blocks" __table_args__ = (Index("wfrb_org_wfr_index", "organization_id", "workflow_run_id"),) - workflow_run_block_id = Column(String, primary_key=True) + workflow_run_block_id = Column(String, primary_key=True, default=generate_workflow_run_block_id) workflow_run_id = Column(String, ForeignKey("workflow_runs.workflow_run_id"), nullable=False) parent_workflow_run_block_id = Column( String, ForeignKey("workflow_run_blocks.workflow_run_block_id"), nullable=True