【发布时间】:2019-01-31 08:59:03
【问题描述】:
我们正在开发一个带有 Go 后端的多租户应用程序。 我们使用 Gorm 作为 ORM 库。
在某些情况下,我们必须为某些用户分配一些自定义字段,因此用户 X 和用户 Y 的结构不同。
是否可以使结构动态化?
【问题讨论】:
-
不,这不可能,Go 是一种静态类型语言。但是,如果您需要为结构类型提供自定义字段,则可以让它具有自定义字段的映射/切片类型的字段...
我们正在开发一个带有 Go 后端的多租户应用程序。 我们使用 Gorm 作为 ORM 库。
在某些情况下,我们必须为某些用户分配一些自定义字段,因此用户 X 和用户 Y 的结构不同。
是否可以使结构动态化?
【问题讨论】:
静态语言 golang 不支持动态结构。 反而, 我建议使用包含所有字段 X 和 Y 的更高结构用户。 除了, 是否设计更大的结构或不同的结构取决于您的数据库模型。如果数据库 t_user 中只有一张表,则一个模型是好的。如果有两个或多个表,如 t_X ,t_Y,显然你应该设计两个或多个模型。
【讨论】: