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

# Console commands

> Every command available through Aikeedo's console, what it does, and which options it accepts.

```bash theme={null}
php bin/console list
php bin/console help app:locale:extract
```

The console boots the same application as a web request, so commands see the same configuration, services and plugins. Entity changes are flushed when the command finishes.

<Note>
  Without a database configured, only the three `app:locale:*` commands are registered. Everything else needs a connection.
</Note>

## Application commands

### `app:import:seeds`

Imports the starter templates and categories shipped with the release, from `data/seeds`.

| Option | Purpose |
| - | - |
| `--set`, `-s` | Import only the named set; repeatable. Defaults to all. |

Also available as `app:import:presets`. See [Starter content](/advanced/seed-data).

### `app:locale:extract`

Scans sources and updates `.po` catalogs.

| Option | Purpose |
| - | - |
| `--target`, `-t` | `core` or a package name; repeatable |
| `--all`, `-a` | The application and every package |
| `--path`, `-p` | Scan an arbitrary directory, such as a theme repository |
| `--locale-dir` | Where `--path` writes catalogs |
| `--domain` | Override the gettext domain |
| `--language`, `-l` | Restrict to specific languages |
| `--no-prune` | Keep entries no longer present in the source |
| `--no-build` | Skip rebuilding the browser catalogs |

### `app:locale:translate`

Fills in missing translations using an AI model.

| Option | Purpose |
| - | - |
| `--lang`, `-l` | Languages to translate |
| `--all`, `-a` | Every language with a catalog |
| `--target`, `-t`, `--path`, `-p` | Same targeting as extraction |
| `--force`, `-f` | Retranslate entries that already have a translation |
| `--dry-run` | Show what would change |
| `--no-build` | Skip rebuilding the browser catalogs |

Model and API credentials are read from options and the environment.

### `app:locale:build`

Rebuilds the browser translation catalogs under the web root.

| Option | Purpose |
| - | - |
| `--lang`, `-l` | Specific languages |
| `--enabled`, `-e` | Only the enabled ones |

### `app:update`

Applies an update archive: backs up what must survive, extracts the release, runs migrations, reinstalls plugins, restores translations.

| Argument | Purpose |
| - | - |
| `file` | Path to the update archive |

Most installations update through the admin panel, which runs the same process. See [How to update](/versioning/how-to-update).

## Doctrine commands

### Migrations

| Command | Purpose |
| - | - |
| `migrations:status` | Current state |
| `migrations:migrate` | Apply pending migrations |
| `migrations:list` | List known migrations |
| `migrations:current`, `migrations:latest` | Current and latest versions |
| `migrations:execute` | Run or revert one migration |
| `migrations:generate`, `migrations:diff` | Create a migration, empty or from mapping differences |
| `migrations:dump-schema`, `migrations:rollup` | Squash history |
| `migrations:sync-metadata-storage` | Repair the tracking table |
| `migrations:up-to-date` | Exit code friendly check, useful in deployment scripts |

### ORM

| Command | Purpose |
| - | - |
| `orm:validate-schema` | Compare mappings with the database |
| `orm:info` | List mapped entities |
| `orm:mapping:describe` | Inspect one entity's mapping |
| `orm:schema-tool:create`, `update`, `drop` | Manipulate the schema directly |
| `orm:generate-proxies` | Regenerate proxy classes |
| `orm:run-dql` | Run a DQL query |
| `orm:clear-cache:metadata`, `query`, `result`, `region:*` | Clear Doctrine caches |

### DBAL

| Command | Purpose |
| - | - |
| `dbal:run-sql` | Run raw SQL |

<Warning>
  `orm:schema-tool:update --force` changes the schema without recording a migration, which leaves the migration table out of step. Use migrations on anything but a scratch database.
</Warning>

## Running commands in production

* Run as the web server user, so cache and log files stay writable.
* Redirect output when running from cron; the console writes to standard output.
* Commands exit with a non-zero status on failure, so deployment scripts can check.

## Plugins and commands

Plugins can't register console commands: the command map is static. Expose the action as an admin endpoint, or run it from the cron event instead. See [Data and persistence](/development/plugins/data-and-persistence).

## Related

* [Database and migrations](/development/core/database-and-migrations)
* [Localization internals](/development/core/localization-internals)
* [Background jobs and cron](/development/core/background-jobs-and-cron)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.