mirror of
https://github.com/n8n-io/n8n.git
synced 2026-10-22 04:21:32 +02:00
Add multi-repo source control connections with per-project scoping (LIGO-923): connection entities/repositories/services, sync service, REST controller, DB migration, schema docs, and editor-ui for managing connections, push/pull, and project-level source control. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
82 lines
3.0 KiB
Markdown
82 lines
3.0 KiB
Markdown
# source_control_connection
|
|
|
|
## Description
|
|
|
|
<details>
|
|
<summary><strong>Table Definition</strong></summary>
|
|
|
|
```sql
|
|
CREATE TABLE "source_control_connection" ("id" varchar(36) PRIMARY KEY NOT NULL, "repositoryUrl" text NOT NULL, "branchName" varchar(255) NOT NULL DEFAULT ('main'), "branchReadOnly" boolean NOT NULL DEFAULT (false), "branchColor" varchar(16) NOT NULL DEFAULT ('#5296D6'), "connectionType" varchar(16) NOT NULL, "connected" boolean NOT NULL DEFAULT (false), "publicKey" text, "encryptedPrivateKey" text, "encryptedUsername" text, "encryptedPassword" text, "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 "CHK_source_control_connection_connectionType" CHECK ("connectionType" IN ('ssh', 'https')))
|
|
```
|
|
|
|
</details>
|
|
|
|
## Columns
|
|
|
|
| Name | Type | Default | Nullable | Children | Parents | Comment |
|
|
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
|
|
| branchColor | varchar(16) | '#5296D6' | false | | | |
|
|
| branchName | varchar(255) | 'main' | false | | | |
|
|
| branchReadOnly | boolean | false | false | | | |
|
|
| connected | boolean | false | false | | | |
|
|
| connectionType | varchar(16) | | false | | | |
|
|
| createdAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
|
| encryptedPassword | TEXT | | true | | | |
|
|
| encryptedPrivateKey | TEXT | | true | | | |
|
|
| encryptedUsername | TEXT | | true | | | |
|
|
| id | varchar(36) | | false | [source_control_scope](source_control_scope.md) | | |
|
|
| publicKey | TEXT | | true | | | |
|
|
| repositoryUrl | TEXT | | false | | | |
|
|
| updatedAt | datetime(3) | STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW') | false | | | |
|
|
|
|
## Constraints
|
|
|
|
| Name | Type | Definition |
|
|
| ---- | ---- | ---------- |
|
|
| - | CHECK | CHECK ("connectionType" IN ('ssh', 'https')) |
|
|
| id | PRIMARY KEY | PRIMARY KEY (id) |
|
|
| sqlite_autoindex_source_control_connection_1 | PRIMARY KEY | PRIMARY KEY (id) |
|
|
|
|
## Indexes
|
|
|
|
| Name | Definition |
|
|
| ---- | ---------- |
|
|
| IDX_source_control_connection_repo_branch | CREATE UNIQUE INDEX "IDX_source_control_connection_repo_branch"<br /> ON "source_control_connection"("repositoryUrl", "branchName") |
|
|
| sqlite_autoindex_source_control_connection_1 | PRIMARY KEY (id) |
|
|
|
|
## Relations
|
|
|
|
```mermaid
|
|
erDiagram
|
|
|
|
"source_control_scope" }o--|| "source_control_connection" : "FOREIGN KEY (connectionId) REFERENCES source_control_connection (id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE"
|
|
|
|
"source_control_connection" {
|
|
varchar_16_ branchColor
|
|
varchar_255_ branchName
|
|
boolean branchReadOnly
|
|
boolean connected
|
|
varchar_16_ connectionType
|
|
datetime_3_ createdAt
|
|
TEXT encryptedPassword
|
|
TEXT encryptedPrivateKey
|
|
TEXT encryptedUsername
|
|
varchar_36_ id PK
|
|
TEXT publicKey
|
|
TEXT repositoryUrl
|
|
datetime_3_ updatedAt
|
|
}
|
|
"source_control_scope" {
|
|
varchar_36_ connectionId FK
|
|
datetime_3_ createdAt
|
|
varchar_36_ id PK
|
|
varchar_36_ projectId FK
|
|
varchar_16_ scopeType
|
|
datetime_3_ updatedAt
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
> Generated by [tbls](https://github.com/k1LoW/tbls)
|