Files
query-orchestration/database/diagram.mmd
T
Michael McGuinness a49084ebce Merged in feature/updateddbdiagram (pull request #75)
Updated DB Diagram

* update
2025-02-24 18:18:23 +00:00

159 lines
3.1 KiB
Plaintext

erDiagram
clients ||--o{ clientCanSync : "has"
clients ||--o{ jobs : "has"
jobs ||--o{ jobCanSync : "has"
jobs ||--o{ documents : "contains"
jobs ||--o{ collectorVersions : "has"
jobs ||--o{ collectorActiveVersions : "has current"
jobs ||--o{ collectorMinCleanVersions : "has"
jobs ||--o{ collectorMinTextVersions : "has"
jobs ||--o{ collectorQueries : "maps to"
documents ||--o{ documentEntries : "has"
documents ||--o{ documentCleans : "has clean version"
documentCleans ||--o{ documentTextExtractions : "has text extraction"
documentTextExtractions ||--o{ results : "produces"
queries ||--o{ queryVersions : "has"
queries ||--o{ queryActiveVersions : "has current"
queries ||--o{ requiredQueries : "requires"
queries ||--o{ queryConfigs : "configured by"
queries ||--o{ collectorQueries : "used in"
queries ||--o{ results : "generates"
results ||--o{ resultDependencies : "depends on"
clients {
uuid id PK
TEXT name
}
clientCanSync {
uuid id PK
uuid clientId FK
boolean canSync
}
jobs {
uuid id PK
uuid clientId FK
}
jobCanSync {
uuid id PK
uuid jobId FK
boolean canSync
}
documents {
uuid id PK
uuid jobId FK
text hash
}
documentEntries {
uuid id PK
uuid documentId FK
text bucket
text key
}
documentCleans {
uuid id PK
uuid documentId FK
int version
text bucket
text key
}
documentTextExtractions {
uuid id PK
uuid cleanEntryId FK
int version
text bucket
text key
}
queries {
uuid id PK
queryType type
}
queryVersions {
uuid queryId FK
int id
timestamp addedAt
}
queryActiveVersions {
uuid id PK
uuid queryId FK
int versionId FK
}
requiredQueries {
uuid id PK
uuid queryId FK
uuid requiredQueryId FK
int addedVersion FK
int removedVersion FK
}
queryConfigs {
uuid id PK
uuid queryId FK
jsonb config
int addedVersion FK
int removedVersion FK
}
collectorVersions {
uuid jobId FK
int id
timestamp addedAt
}
collectorActiveVersions {
uuid id PK
uuid jobId FK
int versionId FK
}
collectorMinCleanVersions {
uuid id PK
uuid jobId FK
int versionId
int addedVersion FK
int removedVersion FK
}
collectorMinTextVersions {
uuid id PK
uuid jobId FK
int versionId
int addedVersion FK
int removedVersion FK
}
collectorQueries {
uuid id PK
uuid jobId FK
varchar name
uuid queryId FK
int addedVersion FK
int removedVersion FK
}
results {
uuid id PK
uuid textEntryId FK
uuid queryId FK
TEXT value
int queryVersion
}
resultDependencies {
uuid resultId FK
uuid requiredResultId FK
}