为了账号安全,请及时绑定邮箱和手机立即绑定

定义数据库 ID 常量/变量的最佳实践是什么

定义数据库 ID 常量/变量的最佳实践是什么

Go
POPMUISE 2021-12-27 15:39:20
我发现当我处理一个项目时,它通常会简化定义代表数据库 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. 代码和数据库之间是否需要松耦合。

如果#1 的答案是肯定的,那么我会考虑从类型表中提取您的值,因为首先使用常量或枚举会违反直觉。(如果类型是您的应用程序的核心,并且在添加值时不需要修改其他客户端应用程序,那么这将更易于维护和用于逻辑比较)

如果#2 的答案是肯定的,那么我会研究 orm 映射器或其他动态表达恒定范围的方法。如果您无法响应对数据库的更改,那么您就会陷入困境。


查看完整回答
反对 回复 2021-12-27
  • 1 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号