mirror of
https://github.com/n8n-io/n8n.git
synced 2026-10-18 14:56:50 +02:00
Adds the agent_task_schedule link table so agent-owned scheduled_job rows (workflowId NULL) stay queryable and cleanable per agent, and widens DurableJobProvisioner with a linked-owner scope: per-job payloads and link-row writes that commit atomically with the job rows. Groundwork for migrating agent scheduled tasks onto the durable scheduler. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.8 KiB
Generated
2.8 KiB
Generated
agent_task_schedule
Description
Table Definition
CREATE TABLE "agent_task_schedule" ("jobId" integer PRIMARY KEY NOT NULL, "agentId" varchar(36) NOT NULL, "taskId" varchar(32), "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "FK_b294425c6aa516a3527f13ac986" FOREIGN KEY ("jobId") REFERENCES "scheduled_job" ("id") ON DELETE CASCADE, CONSTRAINT "FK_af48a457a14d137f1dff0ef688f" FOREIGN KEY ("agentId") REFERENCES "agents" ("id") ON DELETE CASCADE)
Columns
| Name | Type | Default | Nullable | Children | Parents | Comment |
|---|---|---|---|---|---|---|
| agentId | varchar(36) | false | agents | |||
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | |||
| jobId | INTEGER | false | scheduled_job | |||
| taskId | varchar(32) | true |
Constraints
| Name | Type | Definition |
|---|---|---|
| - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
| - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (jobId) REFERENCES scheduled_job (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
| jobId | PRIMARY KEY | PRIMARY KEY (jobId) |
Indexes
| Name | Definition |
|---|---|
| IDX_af48a457a14d137f1dff0ef688 | CREATE INDEX "IDX_af48a457a14d137f1dff0ef688" ON "agent_task_schedule" ("agentId") |
Relations
erDiagram
"agent_task_schedule" }o--|| "agents" : "FOREIGN KEY (agentId) REFERENCES agents (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
"agent_task_schedule" |o--|| "scheduled_job" : "FOREIGN KEY (jobId) REFERENCES scheduled_job (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
"agent_task_schedule" {
varchar_36_ agentId FK
datetime_3_ createdAt
INTEGER jobId FK
varchar_32_ taskId
}
"agents" {
varchar_36_ activeVersionId FK
boolean availableInMCP
datetime_3_ createdAt
varchar_36_ id PK
TEXT integrations
varchar_128_ name
varchar_255_ projectId FK
INTEGER revision
TEXT schema
datetime_3_ setupCompletedAt
TEXT skills
TEXT tools
datetime_3_ updatedAt
varchar_36_ versionId
}
"scheduled_job" {
datetime_3_ createdAt
varchar_255_ cronExpression
boolean enabled
datetime_3_ fireAt
INTEGER id
INTEGER intervalSeconds
varchar_16_ kind
datetime_3_ lastFiredAt
INTEGER maxAttempts
INT misfireGraceSeconds
varchar_16_ misfirePolicy
varchar_255_ name
datetime_3_ nextRunAt
varchar_36_ nodeId
TEXT payload
INT recurrenceSize
varchar_16_ recurrenceUnit
varchar_128_ taskType
varchar_64_ timezone
datetime_3_ updatedAt
varchar_36_ workflowId FK
}
Generated by tbls