gpt4 book ai didi

database - 保持代码和数据库引用表中命名常量同步的最佳实践?

转载 作者:太空狗 更新时间:2023-10-30 01:56:55 24 4
gpt4 key购买 nike

<分区>

通常最好的做法是使用命名常量代替魔数(Magic Number),但保持数据库引用表和命名常量文件同步确实很乏味且容易出错。是否有一些简单的方法可以使此信息的这两个来源保持同步,或者我是否忽略了明显的设计改进?

如果我的问题不清楚,这里有一个例子。我有一个包含 2 列的引用表:

UserStatus
----------
UserStatusID
UserStatus

因此,此表将 UserStatusID 1 与 UserStatus“事件”相关联。 User 表依赖于此表来规范化 UserStatuses。

因此,当从代码中查询用户状态时,我有两个选择:

SELECT UserStatusID FROM Users WHERE UserStatus = 1

SELECT UserStatusID FROM Users WHERE UserStatus = ACTIVE_USER_STATUS_ID

最佳做法是使用后者,这样数字 1 的含义就很清楚了。但这意味着我必须在我的 UserStatus 表和我的代码中维护有效 UserStatusID 的完整列表。如何避免必须同时更新数据库引用表和我的常量文件?我使用的是集中式常量文件,因此我的代码只有 1 个地方需要更新,但是有没有办法在引入新状态时完全避免更新常量文件?

我有一个想法:安排一个脚本每天运行一次,通过查询数据库中的引用表来填充常量文件。这是最好的解决方案吗?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com