# Migration CLI

## Available Commands

There are a few commands that makes it a more enjoyable experience to your everyday usage of Clear ORM.

### Generators

The model and scaffold generators will create migrations appropriate for adding a new model. Clear ORM provides a consice DSL for defining migrations, but these can also be generated via the CLI.

```bash
Usage:
  clear generate [flags...] [arg...]

Generate code automatically

Flags:
  --help         # Displays help for the current command.
  --no-color     # Cancel color output
  --verbose, -v  # Display verbose informations during execution

Subcommands:
  migration      # Generate a new migration
  model          # Create a new model and the first migration
  new:kemal      # Create a new project with Kemal
```

### Migration

Migrations are a convenient way to alter the database schema over time in a consistent and easy way. Clear ORM provides a beautiful DSL so that you don't have to write SQL by hand, allowing your schema and changes to be database independent.

```bash
Usage:
  clear migrate [flags...] [arg...]

Manage migration state of your database

Flags:
  --help         # Displays help for the current command.
  --no-color     # Cancel color output
  --verbose, -v  # Display verbose informations during execution

Subcommands:
  down           # Downgrade your database to a specific migration version
  migrate
  rollback       # Rollback the last up migration
  seed           # Call the seeds data
  set
  status         # Return the current state of the database
  up             # Upgrade your database to a specific migration version
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://clear.gitbook.io/project/migrations/migration-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
