我发现当我处理一个项目时,它通常会简化定义代表数据库 ID 字段的变量或常量的事情。在 golang 我有一个 constants.go 文件const ( //SELECT ID FROM dbo.MyTable MYTABLEID_NO = 1 // MyTable ID for NO MYTABLEID_YES = 2 // MyTable ID for YES MYTABLEID_MAYBE = 3 // MyTable ID for MAYBE)这被认为是不好的做法吗?如果是这样,我该如何解决?在 golang 中是否有更动态的方式来做到这一点?如果由于某种原因 ID 更改、添加了新 ID 或表有许多 ID,这种处理方式就会开始崩溃。
1 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
您可能会得到截然不同的答案,因为它仅归结为偏好。我不会认为这是不良做法的一个例子。如果您不使用 orm 映射器,那么常量或枚举将是表示“类型化”的好方法。你应该问自己两个问题。
一旦建立,这些值是否会改变。
代码和数据库之间是否需要松耦合。
如果#1 的答案是肯定的,那么我会考虑从类型表中提取您的值,因为首先使用常量或枚举会违反直觉。(如果类型是您的应用程序的核心,并且在添加值时不需要修改其他客户端应用程序,那么这将更易于维护和用于逻辑比较)
如果#2 的答案是肯定的,那么我会研究 orm 映射器或其他动态表达恒定范围的方法。如果您无法响应对数据库的更改,那么您就会陷入困境。
- 1 回答
- 0 关注
- 221 浏览
添加回答
举报
0/150
提交
取消
