feat(domains): add domain support for DrawDB integration
Some checks failed
CI / Test (1.24) (push) Successful in -27m28s
CI / Test (1.25) (push) Successful in -27m30s
CI / Build (push) Failing after -28m36s
Integration Tests / Integration Tests (push) Failing after -28m8s
CI / Lint (push) Successful in -27m54s

- Introduce Domain and DomainTable models for logical grouping of tables.
- Implement export and import functionality for domains in DrawDB format.
- Update template execution modes to include domain processing.
- Enhance documentation for domain features and usage.
This commit is contained in:
2026-01-04 15:49:47 +02:00
parent 8c602e3db0
commit 5d3c86119e
7 changed files with 325 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ type TemplateData struct {
// One of these will be populated based on execution mode
Database *models.Database
Schema *models.Schema
Domain *models.Domain
Script *models.Script
Table *models.Table
@@ -57,6 +58,15 @@ func NewSchemaData(schema *models.Schema, metadata map[string]interface{}) *Temp
}
}
// NewDomainData creates template data for domain mode
func NewDomainData(domain *models.Domain, db *models.Database, metadata map[string]interface{}) *TemplateData {
return &TemplateData{
Domain: domain,
ParentDatabase: db,
Metadata: metadata,
}
}
// NewScriptData creates template data for script mode
func NewScriptData(script *models.Script, schema *models.Schema, db *models.Database, metadata map[string]interface{}) *TemplateData {
return &TemplateData{
@@ -85,6 +95,9 @@ func (td *TemplateData) Name() string {
if td.Schema != nil {
return td.Schema.Name
}
if td.Domain != nil {
return td.Domain.Name
}
if td.Script != nil {
return td.Script.Name
}