【问题标题】:Giving a user a 'primary key' inside their data domain在其数据域内为用户提供“主键”
【发布时间】:2011-03-03 17:15:47
【问题描述】:

我有一个包含许多帐户的 rails 应用程序。

在这些帐户中,用户可以创建工单。

为每张工单提供在其帐户中连续的 ID 的最佳方式是什么?

显然,我自己管理 id 似乎是最初的答案,但这似乎充满了各种会导致问题的边缘情况(例如,两张票同时写入数据库......)

【问题讨论】:

  • 为什么要让票证的 ID 限定在每个帐户下?此外,您可以使用票证的唯一字段来代替 ID 吗?
  • 是的,ID 范围在一个帐户下

标签: ruby-on-rails database postgresql


【解决方案1】:

我认为您最终将自己管理它们 - 我之前已经实现了类似的东西,帐户存储了“current_ticket_id”,然后当创建票证(例如)时,它仍然与全局 PK 一起存储,然后是观察者为其分配一个friendly_ticket_id,然后在下一轮的帐户模型上递增到一个。您可以通过 URL 使用限定在帐户范围内的 friendly_ticket_id,以确保获得正确的票证。

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 2011-06-26
    • 1970-01-01
    • 2021-12-28
    • 2015-01-07
    • 2013-01-18
    • 2012-05-11
    • 2022-01-18
    • 2011-04-23
    相关资源
    最近更新 更多