---
url: >-
  https://scruple.dev/rules/relational-databases/require-deterministic-pagination-order.md
description: Require visible ordering for pagination.
---

# relational-databases/require-deterministic-pagination-order

Require visible ordering for pagination.

## What it checks

LIMIT/OFFSET and skip/take pagination need a deterministic ordering contract so records do not drift unpredictably between pages.

## Rule metadata

* Package: `@scruple/relational-databases`
* Category: Database correctness
* Tags: pagination, ordering, queries
* Default threshold: `plugin default`
* Minimum confidence: `plugin default`

## Examples

### Reported

```ts
db.user.findMany({ skip: page * 20, take: 20 });
```

### Accepted

```ts
db.user.findMany({ orderBy: { id: "asc" }, skip: page * 20, take: 20 });
```
