主题
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
适用范围
此命令主要用于模块分发场景。如果模块仅在当前项目使用,通常不需要执行此命令。
⚡ 代码生成
生成模型文件
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',
];
}