n8n/docs/generated/sqlite-schema/shared_credentials.md
Arvin Ansari 912c63ebca
feat(core): Add a description field to credentials (no-changelog)
Add a nullable `description` column to the credential entity and accept it
on the internal credentials API. A user can now record what a credential is
for and where it belongs.

The column is `text`. The 512-character cap lives in `@n8n/api-types` and
applies in the DTO and the entity validator. A later reader must agree its
truncation limit with this cap.

The value is trimmed on write. A blank value is stored as `null`.

The migration uses a raw `ALTER TABLE`. Several tables hold cascading
foreign keys to `credentials_entity`, so the SQLite table recreation that
`addColumns` triggers would delete their rows.

The public API contract is unchanged.
2026-09-16 14:13:40 +02:00

2.9 KiB
Generated

shared_credentials

Description

Table Definition
CREATE TABLE "shared_credentials" ("credentialsId" varchar(36) NOT NULL, "projectId" varchar(36) NOT NULL, "role" text NOT NULL, "createdAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), "updatedAt" datetime(3) NOT NULL DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')), CONSTRAINT "FK_416f66fc846c7c442970c094ccf" FOREIGN KEY ("credentialsId") REFERENCES "credentials_entity" ("id") ON DELETE CASCADE, CONSTRAINT "FK_812c2852270da1247756e77f5a4" FOREIGN KEY ("projectId") REFERENCES "project" ("id") ON DELETE CASCADE, PRIMARY KEY ("credentialsId", "projectId"))

Columns

Name Type Default Nullable Children Parents Comment
createdAt datetime(3) STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') false
credentialsId varchar(36) false credentials_entity
projectId varchar(36) false project
role TEXT false
updatedAt datetime(3) STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') false

Constraints

Name Type Definition
- (Foreign key ID: 0) FOREIGN KEY FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE
- (Foreign key ID: 1) FOREIGN KEY FOREIGN KEY (credentialsId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE
credentialsId PRIMARY KEY PRIMARY KEY (credentialsId)
projectId PRIMARY KEY PRIMARY KEY (projectId)
sqlite_autoindex_shared_credentials_1 PRIMARY KEY PRIMARY KEY (credentialsId, projectId)

Indexes

Name Definition
sqlite_autoindex_shared_credentials_1 PRIMARY KEY (credentialsId, projectId)

Relations

erDiagram

"shared_credentials" |o--|| "credentials_entity" : "FOREIGN KEY (credentialsId) REFERENCES credentials_entity (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
"shared_credentials" |o--|| "project" : "FOREIGN KEY (projectId) REFERENCES project (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"

"shared_credentials" {
  datetime_3_ createdAt
  varchar_36_ credentialsId PK
  varchar_36_ projectId PK
  TEXT role
  datetime_3_ updatedAt
}
"credentials_entity" {
  datetime_3_ createdAt
  TEXT data
  TEXT description
  varchar_36_ id PK
  boolean isGlobal
  boolean isManaged
  boolean isResolvable
  varchar_128_ name
  boolean resolvableAllowFallback
  varchar_16_ resolverId FK
  varchar_32_ type
  datetime_3_ updatedAt
  VARCHAR_16_ usageScope
}
"project" {
  datetime_3_ createdAt
  varchar creatorId FK
  TEXT customTelemetryTags
  varchar_512_ description
  TEXT icon
  varchar_36_ id PK
  varchar_255_ name
  varchar_36_ type
  datetime_3_ updatedAt
}

Generated by tbls