plugins/claude/core/commands/migrate.md
Snider c0a11bf455
feat: /core:migrate Laravel migration helpers (#97)
Implements a new `/core:migrate` command to provide a set of helpers for working with Laravel migrations in a monorepo environment.

The new command includes the following subcommands:

- `/core:migrate create <name>`: Creates a new migration file.
- `/core:migrate run`: Runs all pending migrations.
- `/core:migrate rollback`: Rolls back the last migration.
- `/core:migrate fresh`: Drops all tables and re-runs all migrations.
- `/core:migrate status`: Shows the status of all migrations.
- `/core:migrate from-model <ModelName>`: Generates a new migration by analyzing an existing Laravel model.

Key Features:

- **Smart Migration Generation**: The `from-model` command uses a robust PHP script with Reflection to accurately parse model properties and relationships, generating a complete schema definition.
- **Multi-Tenant Awareness**: New migrations automatically include a `workspace_id` foreign key to support multi-tenant architectures.
- **Module Support**: The `create` and `from-model` commands accept `--path` and `--model-path` arguments, allowing them to be used with different modules in a monorepo.
- **Automatic Indexing**: The `from-model` command automatically adds database indexes to foreign key columns.
2026-02-02 07:27:48 +00:00

68 lines
1.4 KiB
Markdown

---
name: migrate
description: Laravel migration helpers
args: <subcommand> [options]
---
# Laravel Migration Helper
Commands to help with Laravel migrations in the monorepo.
## Usage
`/core:migrate create <name> [--path <path>]` - Create a new migration file.
`/core:migrate run` - Run pending migrations.
`/core:migrate rollback` - Rollback the last database migration.
`/core:migrate fresh` - Drop all tables and re-run all migrations.
`/core:migrate status` - Show the status of each migration.
`/core:migrate from-model <model> [--model-path <path>] [--path <path>]` - Generate a migration from a model (experimental).
## Actions
### Create
Run this command to create a new migration:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/create.sh" "<name>" "--path" "<path>"
```
### Run
Run this command to run pending migrations:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/run.sh"
```
### Rollback
Run this command to rollback the last migration:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/rollback.sh"
```
### Fresh
Run this command to drop all tables and re-run migrations:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/fresh.sh"
```
### Status
Run this command to check migration status:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/status.sh"
```
### From Model
Run this command to generate a migration from a model:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/from-model.sh" "<model>" "--model-path" "<model-path>" "--path" "<path>"
```