概要 RailsでSNS系サービスを作る時に、タイムライン型でページネーションを実現するためにはというメモ。 通常通りソートして、カウンティングするだけでは解決できなかった話と、解決策の話です。 結論 結論から言うとUUID version1のような時間型で衝突しないid生成がなされていればOK。 あくまでRailsから外れずコード管理のみで考えた時に時系列で並ぶulidの実装に落ち着きました。 https://github.com/ulid/spec 実装の提案 兎にも角にも実装例を見せないと始まらないので、以下に落ち着きました。 cursor型ページネーションの実装になります。 https://gist.github.com/penguinwokrs/45a7cfed3c31698da9b3e2409d83cffe キモの解説ですが、UUIDをつけてUUID同士を比較して超過以降を抽出

