> ## 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 push

> Send the current schema to a development environment without writing a migration.

`repost schema push` sends the current schema to an environment without recording a migration, the equivalent of Prisma's `db push`. It is meant for development and staging loops where the schema changes faster than you want to version it.

The server refuses a push to any environment that already has migration history, so a push can never fork a production lineage. Pushing an unchanged schema is a no-op.

## Usage

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

## Options

| Option            | Description                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------- |
| `--dry-run`       | Print the payload instead of sending it. Never touches the network.                                     |
| `--schema <path>` | A `.repost` file or a directory of them. Defaults to `./repost/schema.repost`, else `./repost/schema/`. |

There is deliberately no `--force`: replacing deployed migration history from a dev loop is exactly the mistake the deploy protocol exists to prevent. Authentication works like [`migrate deploy`](/docs/cli/schema/migrate-deploy): `.env` is loaded, `REPOST_TOKEN` is required, and `REPOST_API_URL` overrides the API host.

## Example

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

```text theme={"languages":{"custom":["/languages/repost.json"]}}
✔ deployment applied
  created: user.created
```

A repeat push of the same schema prints `✔ already up to date`. Pushing to an environment with migration history is rejected by the server, and the CLI prints the rejection with its reason.

## Continue

<Columns cols={3} className="gap-y-4">
  <Card title="migrate deploy" icon="upload" href="/docs/cli/schema/migrate-deploy" cta="Production" arrow="true">
    The versioned path for environments that matter.
  </Card>

  <Card title="migrate dev" icon="git-branch" href="/docs/cli/schema/migrate-dev" cta="Record" arrow="true">
    Graduate a pushed schema into recorded migrations.
  </Card>

  <Card title="Migrations & deploys" icon="git-branch" href="/docs/send/deployments" cta="Concepts" arrow="true">
    When to push and when to deploy.
  </Card>
</Columns>
