package tables import ( "time" "git.x2erp.com/qdy/go-db/sqldef" ) func init() { sqldef.AddRegistration(func(r *sqldef.Registry) { tb := sqldef.NewTable("master_company_dimension", "公司维度表 - 存储公司相关分类标准,如公司类型、行业分类、规模等"). ChineseName("公司维度表").Aliases("公司维度"). ID("id", 50).NotNull().Comment("主键ID").ChineseName("主键ID").End(). String("type", 30).NotNull().Comment("维度类型: company_type(公司类型)/industry(行业)/scale(规模)/region(区域)").ChineseName("维度类型: company_type").End(). String("code", 50).NotNull().Comment("编码").ChineseName("编码").Aliases("编码").End(). String("name", 100).NotNull().Comment("名称").ChineseName("名称").Aliases("名称").End(). String("description", 500).Comment("描述").ChineseName("描述").End(). Int("sort_order").Comment("显示次序").ChineseName("显示次序").End(). DateTime("created_at").NotNull().Default("CURRENT_TIMESTAMP").Comment("创建时间").ChineseName("创建时间").Aliases("时间").End(). DateTime("updated_at").NotNull().Default("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP").Comment("更新时间").ChineseName("更新时间").Aliases("时间").End() tb.AddIndex("idx_type", "type") tb.AddIndex("idx_code", "code") tb.AddIndex("idx_sort_order", "sort_order") tb.AddUniqueIndex("uk_type_code", "type", "code") r.RegisterTable(tb.Build()) }) } type MasterCompanyDimension struct { ID string `gorm:"column:id;type:varchar(50);not null;primaryKey;comment:主键ID"` Type string `gorm:"column:type;type:varchar(30);not null;comment:维度类型: company_type(公司类型)/industry(行业)/scale(规模)/region(区域)"` Code string `gorm:"column:code;type:varchar(50);not null;comment:编码"` Name string `gorm:"column:name;type:varchar(100);not null;comment:名称"` Description string `gorm:"column:description;type:varchar(500);comment:描述"` SortOrder int32 `gorm:"column:sort_order;type:int;comment:显示次序"` CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间"` UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;comment:更新时间"` } type MasterCompanyDimensionDB struct { ID string `db:"id" json:"id"` Type string `db:"type" json:"type"` Code string `db:"code" json:"code"` Name string `db:"name" json:"name"` Description string `db:"description" json:"description"` SortOrder int32 `db:"sort_order" json:"sortOrder"` CreatedAt time.Time `db:"created_at" json:"createdAt"` UpdatedAt time.Time `db:"updated_at" json:"updatedAt"` } func (MasterCompanyDimension) TableName() string { return "master_company_dimension" }