> ## Documentation Index
> Fetch the complete documentation index at: https://repost.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# repost schema migrate status

> Report migration health without writing anything: the CI gate for forks, unmigrated changes, and tampered snapshots.

`repost schema migrate status` checks the migration history and writes nothing. It exits `0` when the history is clean and `1` on any finding, with one line per finding on stdout, which makes it the standard pull-request gate alongside [`validate`](/docs/cli/schema/validate) and [`generate --check`](/docs/cli/schema/generate).

## Usage

```bash theme={"languages":{"custom":["/languages/repost.json"]}}
repost schema migrate status [options]
```

## Options

| Option            | Description                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------- |
| `--schema <path>` | A `.repost` file or a directory of them. Defaults to `./repost/schema.repost`, else `./repost/schema/`. |

## Findings

| Finding               | Line printed                                                                                                       |
| --------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Clean, linear history | `Up to date. The schema matches the latest migration and the lineage is linear.`                                   |
| No migrations yet     | ``No migrations yet. Run `repost schema migrate dev --name init` to create the first.``                            |
| Unmigrated changes    | ``unmigrated changes: <n> event type(s) differ from the last snapshot; run `repost schema migrate dev` ``          |
| Fork                  | `fork detected:` followed by both head directories.                                                                |
| Tampered snapshot     | `checksum mismatch: migration <id> records <hash> but its schemas.json now hashes to <hash> (edited or corrupted)` |

## Example

```yaml .github/workflows/ci.yml theme={"languages":{"custom":["/languages/repost.json"]}}
- run: repost schema validate
- run: repost schema migrate status
- run: repost schema generate --check
```

## Continue

<Columns cols={3} className="gap-y-4">
  <Card title="migrate dev" icon="git-branch" href="/docs/cli/schema/migrate-dev" cta="Fix findings" arrow="true">
    The command that resolves every dirty state.
  </Card>

  <Card title="migrate deploy" icon="upload" href="/docs/cli/schema/migrate-deploy" cta="Deploy" arrow="true">
    Requires the clean status this command verifies.
  </Card>

  <Card title="generate" icon="cog" href="/docs/cli/schema/generate" cta="Drift check" arrow="true">
    The companion gate for committed clients.
  </Card>
</Columns>
