Right now it is on my list of things to sort out but it could be that one of the teams will pick it up for their Q1 roadmap plans. I will do some searching and see if I can find anything.
DO THIS:
The only way on n8n 1.29.1 for updating correctly, it’s to update the settings json object with an UPDATE query in SQL for properly write the settings.
Table "public.workflow_entity"
Column | Type | Collation | Nullable | Default
--------------+-----------------------------+-----------+----------+----------------------
name | character varying(128) | | not null |
active | boolean | | not null |
nodes | json | | not null |
connections | json | | not null |
createdAt | timestamp(3) with time zone | | not null | CURRENT_TIMESTAMP(3)
updatedAt | timestamp(3) with time zone | | not null | CURRENT_TIMESTAMP(3)
settings | json | | |
staticData | json | | |
pinData | json | | |
versionId | character(36) | | |
triggerCount | integer | | not null | 0
id | character varying(36) | | not null |
meta | json | | |
Indexes:
"workflow_entity_pkey" PRIMARY KEY, btree (id)
"IDX_workflow_entity_name" btree (name)
"pk_workflow_entity_id" UNIQUE, btree (id)
Referenced by:
TABLE "workflow_history" CONSTRAINT "FK_1e31657f5fe46816c34be7c1b4b" FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE
TABLE "execution_entity" CONSTRAINT "fk_execution_entity_workflow_id" FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE
TABLE "shared_workflow" CONSTRAINT "fk_shared_workflow_workflow_id" FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE
TABLE "webhook_entity" CONSTRAINT "fk_webhook_entity_workflow_id" FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE
TABLE "workflow_statistics" CONSTRAINT "fk_workflow_statistics_workflow_id" FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE
TABLE "workflows_tags" CONSTRAINT "fk_workflows_tags_workflow_id" FOREIGN KEY ("workflowId") REFERENCES workflow_entity(id) ON DELETE CASCADE
db5610b774fd4d4939ba930d452a0dceea=> SELECT * FROM workflow_entity LIMIT 1;
db5610b774fd4d4939ba930d452a0dceea=> SELECT settings FROM workflow_entity LIMIT 1;
settings
--------------------------------------------------------------------------------------------------------------------------------
{"saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","executionOrder":"v1","errorWorkflow":"ROU6HhpOfawIdKe7"}
(1 row)
Wow. It sounds like the entire “Update Workflow” API endpoint is broken at this point. There’s no way to just manipulate settings of other workflows through it – is that correct?