数据库结构#
本文档描述 n8n 数据库中各数据表的用途。
数据库与查询技术#
n8n 默认使用 SQLite 作为数据库。若使用其他数据库,结构将保持相似,但数据类型可能因数据库而异。
n8n 使用 TypeORM 进行查询和数据迁移。
如需查看 n8n 数据库,可使用开源通用数据库工具 DBeaver。
数据表#
以下为 n8n 在初始化过程中创建的数据表。
auth_identity#
在使用 SAML 时存储外部认证提供商的详细信息。
auth_provider_sync_history#
记录 SAML 连接的历史同步信息。
credentials_entity#
存储用于集成认证的凭据。
event_destinations#
包含日志流的目标配置信息。
execution_data#
存储工作流运行时的状态及执行数据。
execution_entity#
保存所有已存储的工作流执行记录。工作流设置会影响 n8n 保存的执行记录范围。
execution_metadata#
存储自定义执行数据。
installed_nodes#
列出 n8n 实例中已安装的社区节点。
installed_packages#
记录 n8n 实例中已安装的 npm 社区节点包详情。installed_nodes 列出单个节点,而 installed_packages 列出可能包含多个节点的 npm 包。
migrations#
记录所有数据库迁移日志。详见 TypeORM 文档中的迁移说明。
project#
列出实例中的项目。
project_relation#
role#
当前未使用,为未来自定义角色功能预留。
settings#
记录自定义实例设置(无法通过环境变量控制的配置),包括:
- 实例所有者是否完成设置
- 用户是否跳过所有者及用户管理设置
- SAML、LDAP 等认证方式是否启用
- 许可证密钥
shared_credentials#
建立凭据与用户的映射关系。
shared_workflow#
建立工作流与用户的映射关系。
tag_entity#
存储 n8n 实例中创建的所有工作流标签。workflows_tags 记录标签与工作流的关联关系。
user#
存储用户数据。
variables#
存储变量。
webhook_entity#
记录 n8n 实例工作流中的活跃 Webhook(不 仅限于 Webhook 节点,包含所有触发器节点使用的活跃 Webhook)。
workflow_entity#
存储 n8n 实例中已保存的工作流。
workflow_history#
存储工作流的历史版本。
workflow_statistics#
统计工作流 ID 及其状态数量。
workflows_tags#
建立标签与工作流的映射关系。tag_entity 存储标签详细信息。
实体关系图 (ERD)#
