0

我正在使用 DataMapper 编写一个简单的应用程序。在我的数据库中保持一致的 ID(序列属性)(可以自由更改)有点重要,所以我编写了这个简单的脚本,它遍历每条记录并修复 ID 以使它们保持一致(例如 1、2、3 ...)。

问题是,每次我添加一条新记录时,都会添加一个新的 ID,这会破坏一致性 - 就好像以前的记录没有修复一样。

如何防止这种行为?或者更确切地说,是否有更简单的方法来保持 ID 的逻辑进展?我有一种明显的感觉,我不应该手动更改 ID。

4

1 回答 1

2

datamapper 通常会创建顺序 ID,但此顺序可能与您的“逻辑顺序”不同。

例子:

  • 您以另一个顺序创建条形对象,然后您希望它们被订购
  • 您创建临时条形对象(原型)并再次删除它们
  • ..

我认为您不应该尝试强制 datamapper 使用您的 ID。相反,我推荐一个额外的字段,例如“nekkoru_number”,您可以根据自己的想法进行计算。在您的情况下,使用唯一名称而不是数字可能也是一个好主意。

还要考虑用例,例如

  • 稍后插入对象
  • 重新排序对象
于 2013-06-18T15:21:59.960 回答