我想学习乐趣并了解 Web 应用程序,我计划使用 Fiber 框架,可能使用 Mysql 或 postgres 作为数据库。我的问题有两个。
什么是多种用户类型的最佳实践。我知道 Go 并不是真正的 OOP 语言(我正在学习的第一语言不是 OOP)。很难弄清楚如何。因为我将有 2 个用户 1 个培训另一个客户。他们将共享一些类似的字段,即:姓名、电子邮件、密码等,以及一些对其他人来说是独一无二的。他们还将有一对多的关系(培训师可以有很多客户)。我理解 orms 可以处理这种关系。但是我将如何构建代码。我会拥有 2 个包含所有字段的模型结构,还是两个都派生自的接口。
我想我的第二部分更像是一个数据库问题。当我通常构建具有多种用户类型的应用程序时,它通常是由用户表上的 isAdmin 字段控制的,但由于用户类型需要不同的信息但有些相似,因此数据库设计的最佳实践是什么。我在想用户、培训师和客户表 3 个表。其中客户端和培训师表与用户表有 fk。这甚至是个好主意吗?