n8n/docs/generated/sqlite-schema/dynamic_credential_resolver.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

3.0 KiB
Generated

dynamic_credential_resolver

Description

Table Definition
CREATE TABLE "dynamic_credential_resolver" ("id" varchar(16) PRIMARY KEY NOT NULL, "name" varchar(128) NOT NULL, "type" varchar(128) NOT NULL, "config" 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')))

Columns

Name Type Default Nullable Children Parents Comment
config TEXT false
createdAt datetime(3) STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') false
id varchar(16) false credentials_entity dynamic_credential_entry dynamic_credential_user_entry
name varchar(128) false
type varchar(128) false
updatedAt datetime(3) STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') false

Constraints

Name Type Definition
id PRIMARY KEY PRIMARY KEY (id)
sqlite_autoindex_dynamic_credential_resolver_1 PRIMARY KEY PRIMARY KEY (id)

Indexes

Name Definition
IDX_9c9ee9df586e60bb723234e499 CREATE INDEX "IDX_9c9ee9df586e60bb723234e499" ON "dynamic_credential_resolver" ("type")
sqlite_autoindex_dynamic_credential_resolver_1 PRIMARY KEY (id)

Relations

erDiagram

"credentials_entity" }o--o| "dynamic_credential_resolver" : "FOREIGN KEY (resolverId) REFERENCES dynamic_credential_resolver (id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE"
"dynamic_credential_entry" |o--|| "dynamic_credential_resolver" : "FOREIGN KEY (resolver_id) REFERENCES dynamic_credential_resolver (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
"dynamic_credential_user_entry" |o--|| "dynamic_credential_resolver" : "FOREIGN KEY (resolverId) REFERENCES dynamic_credential_resolver (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"

"dynamic_credential_resolver" {
  TEXT config
  datetime_3_ createdAt
  varchar_16_ id PK
  varchar_128_ name
  varchar_128_ type
  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
}
"dynamic_credential_entry" {
  datetime_3_ createdAt
  varchar_16_ credential_id PK
  TEXT data
  varchar_16_ resolver_id PK
  varchar_2048_ subject_id PK
  datetime_3_ updatedAt
}
"dynamic_credential_user_entry" {
  datetime_3_ createdAt
  varchar_16_ credentialId PK
  TEXT data
  varchar_16_ resolverId PK
  datetime_3_ updatedAt
  varchar userId PK
}

Generated by tbls