Documentation
¶
Overview ¶
Package registry provides a central schema registry for table metadata.
Index ¶
- func All() []*schema.TableMetadata
- func AllTables() map[string]*schema.TableMetadata
- func Clear()
- func Get(modelType reflect.Type) (*schema.TableMetadata, error)
- func GetAllTables() map[string]*schema.TableMetadata
- func GetByName(tableName string) (*schema.TableMetadata, error)
- func GetOrRegister(model any) (*schema.TableMetadata, error)
- func Register(model any) error
- func RegisterMetadata(table *schema.TableMetadata) error
- type Registry
- func (r *Registry) All() []*schema.TableMetadata
- func (r *Registry) AllNames() []string
- func (r *Registry) Clear()
- func (r *Registry) Get(modelType reflect.Type) (*schema.TableMetadata, error)
- func (r *Registry) GetAllTables() map[string]*schema.TableMetadata
- func (r *Registry) GetByName(tableName string) (*schema.TableMetadata, error)
- func (r *Registry) GetOrRegister(model any) (*schema.TableMetadata, error)
- func (r *Registry) Has(modelType reflect.Type) bool
- func (r *Registry) HasTable(tableName string) bool
- func (r *Registry) Register(model any) error
- func (r *Registry) RegisterMetadata(table *schema.TableMetadata) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func All ¶
func All() []*schema.TableMetadata
All returns all registered tables from the global registry.
func AllTables ¶
func AllTables() map[string]*schema.TableMetadata
AllTables returns all registered tables from the global registry as a map.
func Get ¶
func Get(modelType reflect.Type) (*schema.TableMetadata, error)
Get retrieves TableMetadata from the global registry.
func GetAllTables ¶
func GetAllTables() map[string]*schema.TableMetadata
GetAllTables retrieves all registered tables from the global registry.
func GetByName ¶
func GetByName(tableName string) (*schema.TableMetadata, error)
GetByName retrieves TableMetadata by name from the global registry.
func GetOrRegister ¶
func GetOrRegister(model any) (*schema.TableMetadata, error)
GetOrRegister retrieves or registers a model in the global registry.
func RegisterMetadata ¶ added in v1.6.0
func RegisterMetadata(table *schema.TableMetadata) error
RegisterMetadata registers table metadata directly in the global registry.
Types ¶
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry is a thread-safe registry for table metadata.
func (*Registry) All ¶
func (r *Registry) All() []*schema.TableMetadata
All returns all registered table metadata.
func (*Registry) GetAllTables ¶
func (r *Registry) GetAllTables() map[string]*schema.TableMetadata
GetAllTables returns all registered tables as a map[tableName]*TableMetadata. This is useful for migration generation.
func (*Registry) GetByName ¶
func (r *Registry) GetByName(tableName string) (*schema.TableMetadata, error)
GetByName retrieves TableMetadata by table name.
func (*Registry) GetOrRegister ¶
func (r *Registry) GetOrRegister(model any) (*schema.TableMetadata, error)
GetOrRegister retrieves TableMetadata or registers it if not found.
func (*Registry) RegisterMetadata ¶ added in v1.6.0
func (r *Registry) RegisterMetadata(table *schema.TableMetadata) error
RegisterMetadata registers table metadata directly without requiring a Go type. This is useful for CLI tools that parse source files and build metadata from AST.