Diagrama Mermaid do banco de dados gerado a partir de schema.sql.
Mantenha este arquivo em sincronia com
schema.sql. Toda alteração de tabela/coluna deve ser refletida aqui (regra doAGENTS.md).
erDiagram
flux ||--o{ flux_metadata : has
flux ||--o{ flux_authors : has
flux ||--o{ flux_steps : has
flux ||--o{ process : has
flux ||--o{ process_steps : referenced_by
process ||--o{ process_metadata : has
process ||--o{ process_authors : has
process ||--o{ process_steps : has
process ||--o{ process_step_files : has
process_steps ||--o{ process_step_authors : has
process_steps ||--o{ process_step_files : has
settings ||--o{ settings_authors : has
flux {
TEXT id PK
TEXT name
TEXT description
TEXT created_at
TEXT updated_at
INTEGER active
INTEGER visible
}
flux_metadata {
TEXT id PK
TEXT id_fluxo FK
TEXT name
TEXT value
}
flux_authors {
TEXT id PK
TEXT id_fluxo FK
TEXT author
TEXT at
}
flux_steps {
TEXT id PK
TEXT id_fluxo FK
INTEGER id_order
TEXT name
INTEGER active
}
process {
TEXT id PK
TEXT id_fluxo FK
TEXT name
TEXT description
TEXT created_at
TEXT updated_at
INTEGER active
INTEGER visible
}
process_metadata {
TEXT id PK
TEXT id_process FK
TEXT id_fluxo
TEXT name
TEXT value
}
process_authors {
TEXT id PK
TEXT id_process FK
TEXT id_fluxo
TEXT author
TEXT at
}
process_steps {
TEXT id PK
INTEGER id_order
TEXT id_reuse_step
TEXT id_process FK
TEXT id_flux FK
TEXT name
TEXT content
TEXT completed_at
}
process_step_authors {
TEXT id PK
TEXT id_step FK
TEXT id_fluxo
TEXT author
TEXT at
}
process_step_files {
TEXT id PK
TEXT id_process FK
TEXT id_step FK
TEXT name
TEXT description
TEXT finder
TEXT mime_type
INTEGER size_bytes
INTEGER is_image
TEXT uploaded_at
INTEGER active
}
settings {
TEXT id PK
TEXT name UK
TEXT value
TEXT description
TEXT updated_at
}
settings_authors {
TEXT id PK
TEXT id_setting FK
TEXT author
TEXT at
}
erDiagram
flux ||--o{ flux_metadata : has
flux ||--o{ flux_authors : has
flux ||--o{ flux_steps : has
flux {
TEXT id PK
TEXT name
TEXT description
TEXT created_at
TEXT updated_at
INTEGER active
INTEGER visible
}
flux_metadata {
TEXT id PK
TEXT id_fluxo FK
TEXT name
TEXT value
}
flux_authors {
TEXT id PK
TEXT id_fluxo FK
TEXT author
TEXT at
}
flux_steps {
TEXT id PK
TEXT id_fluxo FK
INTEGER id_order
TEXT name
INTEGER active
}
erDiagram
flux ||--o{ process : starts
process ||--o{ process_metadata : has
process ||--o{ process_authors : has
process ||--o{ process_steps : has
process ||--o{ process_step_files : has
process_steps ||--o{ process_step_authors : has
process_steps ||--o{ process_step_files : has
flux {
TEXT id PK
TEXT name
}
process {
TEXT id PK
TEXT id_fluxo FK
TEXT name
TEXT description
TEXT created_at
TEXT updated_at
INTEGER active
INTEGER visible
}
process_metadata {
TEXT id PK
TEXT id_process FK
TEXT id_fluxo
TEXT name
TEXT value
}
process_authors {
TEXT id PK
TEXT id_process FK
TEXT id_fluxo
TEXT author
TEXT at
}
process_steps {
TEXT id PK
INTEGER id_order
TEXT id_reuse_step
TEXT id_process FK
TEXT id_flux FK
TEXT name
TEXT content
TEXT completed_at
}
process_step_authors {
TEXT id PK
TEXT id_step FK
TEXT id_fluxo
TEXT author
TEXT at
}
process_step_files {
TEXT id PK
TEXT id_process FK
TEXT id_step FK
TEXT name
TEXT description
TEXT finder
TEXT mime_type
INTEGER size_bytes
INTEGER is_image
TEXT uploaded_at
INTEGER active
}
erDiagram
settings ||--o{ settings_authors : has
settings {
TEXT id PK
TEXT name UK
TEXT value
TEXT description
TEXT updated_at
}
settings_authors {
TEXT id PK
TEXT id_setting FK
TEXT author
TEXT at
}
- Todos os PKs (
id) são gerados viasrc/lib/randomHEX.tscom 16 bytes (string hex). - Colunas de data (
created_at,updated_at,at) usamdatetime('now')do SQLite. - Soft delete via
active = 0. A colunavisiblecontrola se a linha aparece em listagens públicas. - Calendário (heatmap de "fluxos iniciados") consulta
process.created_atagrupado por dia — não há tabela dedicada. - Wizard de processo:
process_steps.completed_at(NULL = pendente). O passo atual é o primeiro comcompleted_at IS NULLordenado porid_order. Passos concluídos são read-only (podem ser reabertos com a actionreopenStep).
flux:idx_flux_name,idx_flux_active,idx_flux_createdflux_metadata:idx_flux_metadata_fluxflux_authors:idx_flux_authors_fluxflux_steps:idx_flux_steps_fluxprocess:idx_process_flux,idx_process_name,idx_process_active,idx_process_createdprocess_metadata:idx_process_metadata_processprocess_authors:idx_process_authors_processprocess_steps:idx_process_steps_process,idx_process_steps_fluxprocess_step_authors:idx_process_step_authors_stepprocess_step_files:idx_process_step_files_stepsettings_authors:idx_settings_authors_setting