---
url: /docs/3.0/server/command.md
---
# CatchAdmin 命令行工具

> 强大的 Artisan 命令集，简化开发和维护工作

CatchAdmin 提供了丰富的命令行工具，所有自定义命令都以 **catch** 为前缀，便于识别和使用。

**查看所有 CatchAdmin 命令**：

```shell
php artisan | grep catch
```

这些命令覆盖了项目安装、模块管理、数据库操作、代码生成等常见开发场景，显著提升开发效率。

## 🔧 基础命令

### 查看版本号

```shell
php artisan catch:version
```

显示当前 CatchAdmin 的版本信息，用于版本确认和问题排查。

### 项目安装

```shell
php artisan catch:install
```

**用途**：全新项目的初始化安装
**功能**：

* 创建基础数据表结构
* 生成默认配置文件
* 初始化系统基础数据
* 设置默认管理员账户

## 📦 模块管理

### 模块安装

```shell
php artisan catch:module:install <module>
```

**参数说明**：

* `<module>`：必需参数，模块名称

**功能**：

* 注册模块到系统
* 执行模块的数据库迁移
* 初始化模块配置
* 生成模块路由缓存

**示例**：

```shell
# 安装权限管理模块
php artisan catch:module:install permissions

# 安装用户管理模块
php artisan catch:module:install users
```

## 🗄️ 数据库操作

### 创建迁移文件

```shell
php artisan catch:make:migration <module> <migration_name>
```

**参数说明**：

* `<module>`：目标模块名称
* `<migration_name>`：迁移文件名称

**功能**：在指定模块下创建数据库迁移文件，遵循 Laravel 迁移文件规范。

### 创建数据填充文件

```shell
php artisan catch:make:seeder <module> <seeder_name>
```

**参数说明**：

* `<module>`：目标模块名称
* `<seeder_name>`：数据填充文件名称

**功能**：创建模块专属的数据填充文件，用于初始化测试数据或基础配置数据。

### 执行数据库迁移

```shell
php artisan catch:migrate <module>
```

**功能**：执行指定模块的数据库迁移文件，创建或更新模块相关的表结构。

**示例**：

```shell
# 执行权限模块的数据库迁移
php artisan catch:migrate permissions
```

### 执行数据填充

```shell
php artisan catch:db:seed <module>
```

**功能**：执行指定模块的数据填充文件，为模块添加初始化数据。

**示例**：

```shell
# 执行权限模块的数据填充
php artisan catch:db:seed permissions
```

**注意**：确保先执行迁移命令创建表结构，再执行数据填充。

## 🔄 模块分发

### 导出模块菜单

```shell
php artisan catch:export:menu <module> <table?>
```

**参数说明**：

* `<module>`：必需参数，模块名称
* `<table?>`：可选参数，权限表名，默认为 `permissions`

**功能**：

* 导出模块的菜单权限配置
* 生成对应的 seed 文件
* 便于模块在不同项目间分发

**使用场景**：

* 模块开发完成后的打包分发
* 跨项目模块迁移
* 开源模块的标准化发布

**示例**：

```shell
# 导出权限模块的菜单配置
php artisan catch:export:menu permissions
```

:::tip 适用范围
此命令主要用于模块分发场景。如果模块仅在当前项目使用，通常不需要执行此命令。
:::

## ⚡ 代码生成

### 生成模型文件

```shell
php artisan catch:make:model <module> <modelName> <table?>
```

**参数说明**：

* `<module>`：目标模块名称
* `<modelName>`：模型类名称
* `<table?>`：可选参数，对应的数据表名

**功能**：

* 在指定模块下生成模型文件
* 自动继承 CatchModel 基类
* 根据表结构生成 fillable 属性
* 遵循 CatchAdmin 模型规范

**示例**：

```shell
# 在权限模块下生成 Users 模型
php artisan catch:make:model permissions Users
```

**生成的模型内容**：

```php
namespace Modules\Permissions\Models;

use Catch\Base\CatchModel as Model;

class Users extends Model
{
    protected $table = 'users';

    protected $fillable = [
        'id', 'username', 'password', 'email', 'avatar',
        'remember_token', 'department_id', 'creator_id',
        'status', 'login_ip', 'login_at', 'created_at',
        'updated_at', 'deleted_at',
    ];
}
```
