【发布时间】:2021-06-16 12:41:36
【问题描述】:
我有一个特定配置的 yaml 文件,go 程序读取该文件以构建结构对象。
结构本身看起来像这样
type YamlConfig struct {
Attributes map[string]struct {
Label string `yaml:"label"`
Type string `yaml:"type"`
Presence bool `yaml:"presence"`
Uniqueness bool `yaml:"uniqueness"`
Strip bool `yaml:"strip"`
Values []string `yaml:"values"`
Default string `yaml:"default"`
Multi bool `yaml:"multi"`
Searchable bool `yaml:"searchable"`
Pattern struct {
Value string `yaml:"value"`
Message string `yaml:"message"`
} `yaml:"pattern"`
Length struct {
Min int `yaml:"min"`
Max int `yaml:"max"`
} `yaml:"length"`
} `yaml:"attributes"`
}
我有一个属性映射,可以是从“名称”到“任何”的任何内容,它应该表示和 db 表列及其类型。
我的问题是 - 我能否以某种方式获取该对象,该对象非常动态并且可能不包含所有属性属性的数据,并以某种方式将其转换为具有 Gorm 或其他东西的可用 ORM 模型?
我应该始终定义模型结构还是可以动态构建结构?
【问题讨论】: