数据库结构#
本页面描述了 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 表中。