N8N中文教程
部署托管/Architecture

数据库结构#

本页面描述了 n8n 数据库中每个表的用途。

数据库与查询技术#

默认情况下,n8n 使用 SQLite 作为数据库。如果你使用其他数据库,其结构大致相同,但数据类型可能因数据库而异。

n8n 使用 TypeORM 进行查询和迁移操作。

你可以使用开源通用数据库工具 DBeaver 来查看 n8n 的数据库。

表格#

以下是 n8n 在初始化设置过程中创建的表格。

auth_identity#

当使用 SAML 时,存储外部认证提供者的信息。

auth_provider_sync_history#

存储 SAML 连接的历史记录。

credentials_entity#

存储用于与集成服务进行身份验证的 凭证(credential)。

event_destinations#

包含 日志流(Log streaming) 的目标配置。

execution_data#

存储工作流运行时的状态以及执行过程中的数据。

execution_entity#

存储所有已保存的工作流执行记录。工作流设置会影响 n8n 保存哪些执行实例。

execution_metadata#

存储 自定义执行数据(Custom executions data)。

installed_nodes#

列出在你的 n8n 实例中安装的 社区节点(community nodes)。

installed_packages#

记录在你的 n8n 实例中安装的 npm 社区节点包的详细信息。installed_nodes 列出各个独立的节点,而 installed_packages 则列出 npm 包,一个包中可能包含多个节点。

migrations#

记录所有数据库迁移的日志。更多关于 Migrations 的信息,请参阅 TypeORM 官方文档。

project#

列出你实例中的 项目(projects)。

project_relation#

描述用户与 项目(project) 之间的关系,包括用户的 角色类型(role type)。

role#

当前未使用。预留用于未来支持自定义角色功能。

settings#

记录自定义实例设置。这些是无法通过环境变量控制的设置,包括:

  • 实例所有者是否已设置
  • 用户是否选择跳过所有者和用户管理的配置
  • 是否启用了某些类型的认证方式(如 SAML 和 LDAP)
  • 许可证密钥(License key)

shared_credentials#

将凭据(credentials)映射到用户。

shared_workflow#

将工作流(workflows)映射到用户。

tag_entity#

n8n 实例中创建的所有工作流标签。此表列出所有标签。workflows_tags 记录了各个工作流所关联的标签。

user#

存储用户数据。

variables#

用于存储 变量(variables)。

webhook_entity#

记录 n8n 实例中工作流内的活动 Webhook。这不仅包括 Webhook 节点中使用的 Webhook,还涵盖所有由任意触发器节点(trigger node)使用的活动 Webhook。

workflow_entity#

n8n 实例中保存的工作流。

workflow_history#

存储工作流的历史版本。

workflow_statistics#

统计工作流 ID 及其状态。

workflows_tags#

将标签与工作流进行关联。标签的详细信息存储在 tag_entity 表中。

实体关系图(ERD)#

"n8n ERD"