Documentation
¶
Overview ¶
Package transform provides validation and transformation utilities for database models.
Overview ¶
The transform package contains a Transformer type that provides methods for validating and normalizing database schemas. It ensures schema correctness and consistency across different format conversions.
Features ¶
- Database validation (structure and naming conventions)
- Schema validation (completeness and integrity)
- Table validation (column definitions and constraints)
- Data type normalization
Usage ¶
transformer := transform.NewTransformer()
err := transformer.ValidateDatabase(db)
if err != nil {
log.Fatal("Invalid database schema:", err)
}
Validation Scope ¶
The transformer validates:
- Required fields presence
- Naming convention adherence
- Data type compatibility
- Constraint consistency
- Relationship integrity
Note: Some validation methods are currently stubs and will be implemented as needed.
Index ¶
- func LowercaseIdentifiers(db *models.Database) (*models.Database, error)
- type Transformer
- func (t *Transformer) NormalizeDatabase(db *models.Database) (*models.Database, error)
- func (t *Transformer) NormalizeSchema(schema *models.Schema) (*models.Schema, error)
- func (t *Transformer) NormalizeTable(table *models.Table) (*models.Table, error)
- func (t *Transformer) ValidateDatabase(db *models.Database) error
- func (t *Transformer) ValidateSchema(schema *models.Schema) error
- func (t *Transformer) ValidateTable(table *models.Table) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LowercaseIdentifiers ¶ added in v1.0.90
LowercaseIdentifiers copies the model and lowercases names and structured references. SQL expressions, defaults, enum values, comments and metadata are preserved. Callers must adjust identifiers inside their own SQL expressions. Collisions are rejected before any output is written.
Types ¶
type Transformer ¶
type Transformer struct{}
Transformer provides utilities for transforming database models
func NewTransformer ¶
func NewTransformer() *Transformer
NewTransformer creates a new Transformer instance
func (*Transformer) NormalizeDatabase ¶
NormalizeDatabase normalizes a database model to a standard format
func (*Transformer) NormalizeSchema ¶
NormalizeSchema normalizes a schema model to a standard format
func (*Transformer) NormalizeTable ¶
NormalizeTable normalizes a table model to a standard format
func (*Transformer) ValidateDatabase ¶
func (t *Transformer) ValidateDatabase(db *models.Database) error
ValidateDatabase validates a database model for correctness
func (*Transformer) ValidateSchema ¶
func (t *Transformer) ValidateSchema(schema *models.Schema) error
ValidateSchema validates a schema model for correctness
func (*Transformer) ValidateTable ¶
func (t *Transformer) ValidateTable(table *models.Table) error
ValidateTable validates a table model for correctness