diff --git a/migrations/1756296000_cm0.4.0_migrate.go b/migrations/1756296000_cm0.4.0_migrate.go index 51c91879a..5e3500d98 100644 --- a/migrations/1756296000_cm0.4.0_migrate.go +++ b/migrations/1756296000_cm0.4.0_migrate.go @@ -1304,6 +1304,23 @@ func init() { } } } + + // normalize field `nodeId` in collection `workflow`, `workflow_run`, `workflow_output`, `workflow_logs` + for i := 0; i < 3; i++ { + app.DB().NewQuery(`UPDATE workflow SET graphDraft=REPLACE(graphDraft, '"id":"-', '"id":"')`).Execute() + app.DB().NewQuery(`UPDATE workflow SET graphDraft=REPLACE(graphDraft, '"id":"_', '"id":"')`).Execute() + app.DB().NewQuery(`UPDATE workflow SET graphContent=REPLACE(graphContent, '"id":"-', '"id":"')`).Execute() + app.DB().NewQuery(`UPDATE workflow SET graphContent=REPLACE(graphContent, '"id":"_', '"id":"')`).Execute() + + app.DB().NewQuery(`UPDATE workflow_run SET graph=REPLACE(graph, '"id":"-', '"id":"')`).Execute() + app.DB().NewQuery(`UPDATE workflow_run SET graph=REPLACE(graph, '"id":"_', '"id":"')`).Execute() + + app.DB().NewQuery(`UPDATE workflow_output SET nodeId=SUBSTR(nodeId, 2) WHERE nodeId LIKE '-%'`).Execute() + app.DB().NewQuery(`UPDATE workflow_output SET nodeId=SUBSTR(nodeId, 2) WHERE nodeId LIKE '_%'`).Execute() + + app.DB().NewQuery(`UPDATE workflow_logs SET nodeId=SUBSTR(nodeId, 2) WHERE nodeId LIKE '-%'`).Execute() + app.DB().NewQuery(`UPDATE workflow_logs SET nodeId=SUBSTR(nodeId, 2) WHERE nodeId LIKE '_%'`).Execute() + } } tracer.Printf("done") diff --git a/ui/src/domain/workflow.ts b/ui/src/domain/workflow.ts index 84f3c3d3c..158ed402f 100644 --- a/ui/src/domain/workflow.ts +++ b/ui/src/domain/workflow.ts @@ -174,7 +174,9 @@ export const defaultNodeConfigForBizNotify = (): Partial { - return nanoid(); + return nanoid() + .replace(/^[_-]+/g, "") + .replace(/[_-]+$/g, ""); }; export const newNode = (type: WorkflowNodeType, { i18n = getI18n() }: { i18n?: ReturnType }): WorkflowNode => {