Documentation
¶
Index ¶
- type Config
- type FactoryField
- type GeneratedFactory
- type GeneratedField
- type GeneratedModel
- type Generator
- func (g *Generator) Build(cat *catalog.Catalog, config Config) (*GeneratedModel, error)
- func (g *Generator) BuildFactory(cat *catalog.Catalog, config Config, genModel *GeneratedModel) (*GeneratedFactory, error)
- func (g *Generator) GenerateFactoryFile(factory *GeneratedFactory, templateStr string) (string, error)
- func (g *Generator) GenerateModel(cat *catalog.Catalog, resourceName string, pluralName string, ...) error
- func (g *Generator) GenerateModelFile(model *GeneratedModel, templateStr string) (string, error)
- func (g *Generator) GenerateModelFromMigrations(tableName, resourceName string, migrationDirs []string, ...) error
- func (g *Generator) GenerateQueriesOnlyContent(resourceName string, pluralName string, table *catalog.Table, ...) (string, error)
- func (g *Generator) GenerateQueriesOnlyFile(resourceName string, pluralName string, table *catalog.Table, sqlPath string, ...) error
- func (g *Generator) GenerateSQLContent(resourceName string, pluralName string, table *catalog.Table, ...) (string, error)
- func (g *Generator) GenerateSQLFile(resourceName string, pluralName string, table *catalog.Table, sqlPath string, ...) error
- func (g *Generator) RefreshQueries(cat *catalog.Catalog, resourceName, pluralName string, sqlPath string, ...) error
- func (g *Generator) RefreshQueriesOnly(cat *catalog.Catalog, resourceName, pluralName string, sqlPath string, ...) error
- func (g *Generator) WriteFactoryFile(factory *GeneratedFactory, outputDir string) error
- type SQLData
- type SimpleSQLData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FactoryField ¶ added in v1.0.0
type FactoryField struct {
Name string
ArgumentName string
Type string
GoZero string
DefaultValue string
OptionName string
IsFK bool
IsTimestamp bool
IsID bool
IsAutoManaged bool
}
FactoryField represents a field in a factory
type GeneratedFactory ¶ added in v1.0.0
type GeneratedFactory struct {
ModelName string
Package string
Fields []FactoryField
ModulePath string
StandardImports []string
ExternalImports []string
HasCreateFunction bool
HasForeignKeys bool // True if there are 1+ FKs
ForeignKeyFields []FactoryField // All FK fields
}
GeneratedFactory represents a factory for a model
type GeneratedField ¶
type GeneratedModel ¶
type GeneratedModel struct {
Name string
PluralName string // The pluralized form of Name for function names (respects --table-name override)
Package string
Fields []GeneratedField
StandardImports []string
ExternalImports []string
Imports []string
TableName string
TableNameOverride string
TableNameOverridden bool
ModulePath string
DatabaseType string
}
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
func NewGenerator ¶
func (*Generator) BuildFactory ¶ added in v1.0.0
func (g *Generator) BuildFactory(cat *catalog.Catalog, config Config, genModel *GeneratedModel) (*GeneratedFactory, error)
BuildFactory generates factory metadata from a model
func (*Generator) GenerateFactoryFile ¶ added in v1.0.0
func (g *Generator) GenerateFactoryFile(factory *GeneratedFactory, templateStr string) (string, error)
GenerateFactoryFile renders a factory file from a template
func (*Generator) GenerateModel ¶
func (*Generator) GenerateModelFile ¶
func (g *Generator) GenerateModelFile(model *GeneratedModel, templateStr string) (string, error)
func (*Generator) GenerateModelFromMigrations ¶
func (*Generator) GenerateQueriesOnlyContent ¶
func (g *Generator) GenerateQueriesOnlyContent( resourceName string, pluralName string, table *catalog.Table, tableNameOverridden bool, ) (string, error)
GenerateQueriesOnlyContent generates SQL content using the queries_only.tmpl template. This is used for refreshing queries-only files.
func (*Generator) GenerateQueriesOnlyFile ¶
func (g *Generator) GenerateQueriesOnlyFile( resourceName string, pluralName string, table *catalog.Table, sqlPath string, tableNameOverridden bool, ) error
GenerateQueriesOnlyFile generates a SQL file using the queries_only.tmpl template. This is used for lightweight query generation without a model layer.
func (*Generator) GenerateSQLContent ¶
func (*Generator) GenerateSQLFile ¶
func (*Generator) RefreshQueries ¶
func (*Generator) RefreshQueriesOnly ¶
func (g *Generator) RefreshQueriesOnly( cat *catalog.Catalog, resourceName, pluralName string, sqlPath string, tableNameOverridden bool, ) error
RefreshQueriesOnly refreshes a queries-only SQL file (without model layer).
func (*Generator) WriteFactoryFile ¶ added in v1.0.0
func (g *Generator) WriteFactoryFile(factory *GeneratedFactory, outputDir string) error
WriteFactoryFile writes a factory file to disk
type SQLData ¶
type SQLData struct {
ResourceName string
PluralName string
PluralResourceName string // The pluralized form of ResourceName for query function names
InsertColumns string
InsertPlaceholders string
UpdateColumns string
DatabaseType string
IDPlaceholder string
LimitOffsetClause string
NowFunction string
UpsertUpdateSet string
OrderByClause string
TableNameOverridden bool
}
type SimpleSQLData ¶
type SimpleSQLData struct {
ResourceName string
PluralName string
PluralResourceName string
InsertColumns string
InsertPlaceholders string
UpdateColumns string
IDPlaceholder string
UpsertUpdateSet string
}
SimpleSQLData is used for queries-only generation (no model layer). It treats all columns uniformly without special handling for timestamps.