Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

config_meta.go 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package tables
  2. import (
  3. "time"
  4. "git.x2erp.com/qdy/go-db/sqldef"
  5. )
  6. func init() {
  7. sqldef.AddRegistration(func(r *sqldef.Registry) {
  8. // 配置元信息表
  9. tb := sqldef.NewTable("config_meta", "配置元信息表").
  10. ID("id", 128).NotNull().Comment("主键").End().
  11. String("config_name", 48).NotNull().Comment("配置名称").End().
  12. String("field_name", 48).NotNull().Default("''").Comment("属性名称").End().
  13. String("field_type", 32).NotNull().Default("'config'").Comment("字段类型:config/string/bool/int...").End().
  14. String("yaml_name", 128).NotNull().Default("''").Comment("YAML标签").End().
  15. String("field_desc", 256).NotNull().Default("''").Comment("字段描述").End().
  16. String("creator", 32).NotNull().Comment("创建人").End().
  17. DateTime("created_at").NotNull().Default("CURRENT_TIMESTAMP").Comment("创建时间").End()
  18. // 添加索引
  19. tb.AddIndex("idx_config_name", "config_name")
  20. tb.AddIndex("idx_yaml_name", "yaml_name")
  21. tb.AddIndex("idx_field_name", "field_name")
  22. // 注册表
  23. r.RegisterTable(tb.Build())
  24. })
  25. }
  26. // ConfigMeta 配置元信息表结构体
  27. type ConfigMeta struct {
  28. // 配置名称
  29. ConfigName string `gorm:"column:config_name;type:varchar(48);not null;primaryKey;comment:配置名称"`
  30. // 字段名称
  31. FieldName string `gorm:"column:field_name;type:varchar(48);not null;primaryKey;comment:属性名称"`
  32. // 字段类型
  33. FieldType string `gorm:"column:field_type;type:varchar(50);not null;default:'config';comment:字段类型"`
  34. // YAML标签
  35. YamlName string `gorm:"column:yaml_name;type:varchar(128);not null;default:'';comment:YAML标签"`
  36. // 字段描述
  37. FieldDesc string `gorm:"column:field_desc;type:varchar(500);not null;default:'';comment:字段描述"`
  38. // 创建人
  39. Creator string `gorm:"column:creator;type:varchar(32);not null;comment:创建人"`
  40. // 创建时间
  41. CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间"`
  42. }
  43. // ConfigMetaDB 数据库表结构体
  44. type ConfigMetaDB struct {
  45. ID string `db:"id" json:"id"`
  46. ConfigName string `db:"config_name" json:"configName"`
  47. FieldName string `db:"field_name" json:"fieldName"`
  48. FieldType string `db:"field_type" json:"fieldType"`
  49. YamlName string `db:"yaml_name" json:"yamlName"`
  50. FieldDesc string `db:"field_desc" json:"fieldDesc"`
  51. Creator string `db:"creator" json:"creator"`
  52. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  53. }
  54. // TableName 指定表名
  55. func (ConfigMeta) TableName() string {
  56. return "config_meta"
  57. }