n8n v1.0 迁移指南#
本文档概述了在升级到 n8n 1.0 版本前需要注意的事项。
n8n 1.0 的发布标志着 n8n 在满足严苛生产环境需求的道路上迈出了重要一步。该版本凝聚了过去四年的研发成果,使 n8n 成为最易用、功能最强大且最多样化的自动化工具。n8n 1.0 现已具备生产环境使用条件。
新功能#
代码节点支持 Python#
虽然 JavaScript 仍是默认语言,但现在您可以在代码节点中选择 Python 作为编程语言,甚至能够使用众多 Python 模块。请注意,在 v1.0 之前添加到工作流的代码节点无法使用 Python 功能。
执行顺序#
n8n 1.0 为多分支工作流引入了新的执行顺序:
在多分支工作流中,n8n 需要确定各分支节点的执行顺序。此前版本采用广度优先策略:先执行所有分支的第一个节点,再执行所有分支的第二个节点,依此类推。新的执行顺序确保每个分支都会完全执行完毕后再开始下一个分支(深度优先)。分支按照在画布上的位置从上到下执行,若两个分支处于同一高度,则最左侧分支优先执行。
过去多输入节点只要在第一个输入端口接收到数据就会执行。连接到多输入节点第二个输入端的节点无论是否接收到数据都会自动执行。n8n 1.0 引入的新执行顺序简化了此行为:节点仅在接收到数据时才会执行,多输入节点需要至少一个输入端口接收到数据才会触发执行。
现有工作流将继续使用旧版执行顺序,而新建工作流将采用 v1 执行顺序。您可以在工作流设置中为每个工作流配置执行顺序。
弃用功能#
MySQL 和 MariaDB#
n8n 已弃用对 MySQL 和 MariaDB 作为存储后端的支持。这些数据库系统仅被少数用户使用,但却需要持续的开发和维护投入。n8n 建议迁移至 PostgreSQL 以获得更好的兼容性和长期支持。
EXECUTIONS_PROCESS 与 "own" 模式#
此前可通过 EXECUTIONS_PROCESS 环境变量指定执行流程在 main 进程还是 own 进程中运行。该选项及 own 模式现已被弃用,并将在未来版本中移除。原因是该机制导致代码复杂度增加而收益有限。从 n8n 1.0 开始,main 将成为新的默认模式。
请注意,main 模式下的执行启动速度远快于 own 模式。但若工作流内存占用超过可用内存,可能会导致整个 n8n 应用崩溃而非仅影响工作线程。为避免此情况,请确保分配足够的系统资源或配置队列模式