mirror of https://github.com/kortix-ai/suna.git
33 lines
1.0 KiB
PL/PgSQL
33 lines
1.0 KiB
PL/PgSQL
BEGIN;
|
|
|
|
-- Add steps column to agent_workflows table as flexible JSON
|
|
ALTER TABLE agent_workflows ADD COLUMN IF NOT EXISTS steps JSONB DEFAULT NULL;
|
|
|
|
-- Create index for steps column (GIN index for flexible JSON queries)
|
|
CREATE INDEX IF NOT EXISTS idx_agent_workflows_steps ON agent_workflows USING gin(steps);
|
|
|
|
UPDATE agent_workflows
|
|
SET steps = (
|
|
SELECT COALESCE(
|
|
jsonb_agg(
|
|
json_build_object(
|
|
'id', ws.id,
|
|
'name', ws.name,
|
|
'description', ws.description,
|
|
'type', ws.type,
|
|
'config', ws.config,
|
|
'conditions', ws.conditions,
|
|
'step_order', ws.step_order
|
|
) ORDER BY ws.step_order
|
|
),
|
|
NULL
|
|
)
|
|
FROM workflow_steps ws
|
|
WHERE ws.workflow_id = agent_workflows.id
|
|
)
|
|
WHERE steps IS NULL;
|
|
|
|
-- Add comment to document the flexible nature
|
|
COMMENT ON COLUMN agent_workflows.steps IS 'Flexible JSON field for storing workflow steps. Structure can evolve over time without database migrations.';
|
|
|
|
COMMIT; |