Files
relspecgo/tests/_plans/models.md
T

19 lines
1.1 KiB
Markdown

# Plan: pkg/models (20.4%)
## Existing
- `directives_test.go`
## Gaps
| File | Funcs | Cases |
|------|-------|-------|
| `models.go` | All `SQLName` methods, `UpdateDate`, `GetPrimaryKey`, `columnLess`, `GetForeignKeys` | Case handling, empty/nil maps, composite PK ordering, FK filtering |
| `models.go` | `Init*` constructors (Database, Schema, Table, Column, Index, Relation, Relationship, Constraint, Script, View, Sequence, Domain, DomainTable, Enum) | Maps/slices non-nil, name set, defaults |
| `sorting.go` | 20 Sort* funcs | By name and by sequence; ties; map variants return sorted slice; input not mutated where documented |
| `flatview.go` | ToFlatColumns, ToFlatTables, ToFlatConstraints, ToFlatRelationships | Multi-schema, empty db, deterministic order |
| `summaryview.go` | ToSummary | Counts across object types |
| `directives.go` | `directiveFromAny` (22%) | Each input type branch, invalid type |
## Data needed
- One shared in-test builder for a multi-schema Database (reuse `tests/assets/dbml/complex.dbml` via reader only if no import cycle; otherwise build in code).