【发布时间】:2019-08-13 18:14:46
【问题描述】:
我需要将 WCAG 的成功标准树存储在我的 Rails 应用程序中:https://www.w3.org/TR/WCAG20/
到目前为止,所有成功标准都取自 WCAG 2.0。现在,在 WCAG 2.1 中添加了更多成功标准,我也需要存储这些标准,并且能够将它们与 WCAG 2.0 分开。
所以我想在表中添加一个wcag 字段,并将值2.0 添加到现有的成功标准中。然后我想添加新的成功标准,值为2.1。
首先我想使用普通的浮点数,但后来我意识到版本号有不同的逻辑:
- 对于浮点数,这是正确的:
1.11 < 1.2 - 对于版本号,相反:
1.11 > 1.2
如何在数据库中存储这种特殊类型的数据?最好同时保留max和min之类的方法,以及将它们相互比较的简单方法(<、>=等)?
【问题讨论】:
-
你用什么数据库?
-
我用的是 MySQL 数据库。
-
目前,由于似乎不存在简单的插入式解决方案(gem 或类似的),我决定只使用带有
scale: 1的小数字段。由于 WCAG 更新非常缓慢,我怀疑我的应用程序永远不会遇到问题(当前版本是 WCAG2.1,它需要很多年才能转到2.10,而且可能这永远不会发生,因为版本3.0会到来前一天)。我添加了一个自定义格式验证以避免遇到问题,这只是阻止用户尝试输入2.10或类似内容。