registry

package
v1.16.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package registry provides a central schema registry for table metadata.

Index

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 Clear

func Clear()

Clear clears the global registry.

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 Register

func Register(model any) error

Register 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 NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new Registry instance.

func (*Registry) All

func (r *Registry) All() []*schema.TableMetadata

All returns all registered table metadata.

func (*Registry) AllNames

func (r *Registry) AllNames() []string

AllNames returns all registered table names.

func (*Registry) Clear

func (r *Registry) Clear()

Clear removes all registered models.

func (*Registry) Get

func (r *Registry) Get(modelType reflect.Type) (*schema.TableMetadata, error)

Get retrieves TableMetadata by Go type.

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) Has

func (r *Registry) Has(modelType reflect.Type) bool

Has checks if a model type is registered.

func (*Registry) HasTable

func (r *Registry) HasTable(tableName string) bool

HasTable checks if a table name is registered.

func (*Registry) Register

func (r *Registry) Register(model any) error

Register registers a model type and extracts its metadata.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL