• towerful@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I think the most_recent is to power the unique index constraint. This “powers” the whole thing.

      Whereas the sort_order is to allow easy sorting, which is just for human readability. You could argue that you can rely on the “created_at” for this.
      Considering the examples increment it by 10, I assume this is to allow admins to manually override a sequence or force a data consistency thing or whatever.

        • towerful@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          I guess separation of concerns? One is for the system, one is for display?

          A unique Boolean is easier to query than sorting and limiting?

          Maybe you don’t ever need the ability to display a history, but you still want the history (instead of just making the transaction_id unique constrained)… so you just drop the sort_order column?

          I understand what you are saying.
          Maybe that’s just how they went about it. Originally planning on using created_at to do the ordering, then later realising that a customisable sort_order is required so they can make things make sense without having to fudge timestamps.