Skip to main content

MakeCommand

Enum MakeCommand 

Source
pub enum MakeCommand {
Show 15 variants Model { name: String, }, Controller { name: String, api: bool, plain: bool, }, Migration { name: String, path: String, }, Seeder { name: String, path: String, }, Guard { name: String, }, Validate { name: String, }, Event { name: String, }, Listener { name: String, event: Option<String>, }, Command { name: String, }, Service { name: String, }, Middleware { name: String, }, Scaffold { name: String, }, Plugin { template: String, name: String, table: Option<String>, fields: Option<String>, force: bool, output: Option<String>, master: Option<String>, slave: Option<String>, master_fields: Option<String>, slave_fields: Option<String>, foreign_key: Option<String>, }, Frontend { models: Vec<String>, model_dir: String, framework: String, ui: String, output: String, template_dir: Option<String>, override_strategy: String, with_tests: bool, with_interceptors: bool, lazy_load: bool, force: bool, }, Openapi { output: String, title: String, version: String, force: bool, },
}
Expand description

make 子命令枚举

对齐 PHP think make:* 命令组。

Variants§

§

Model

生成 Model(对齐 php think make:model User)

Fields

§name: String

类名(如 User 或 admin/User)

§

Controller

生成 Controller(对齐 php think make:controller User)

Fields

§name: String

类名

§api: bool

生成 API 风格控制器(5 方法,无 create/edit)

§plain: bool

生成空控制器

§

Migration

生成迁移文件(对齐 Phinx make:migration)

Fields

§name: String

迁移名称(如 create_users)

§path: String

迁移目录(默认 migrations)

§

Seeder

生成填充文件(对齐 PHP make:seeder)

在 seeds/ 目录下生成 <name>.sql 文件骨架。

Fields

§name: String

填充文件名称(如 001_users_seed)

§path: String

填充目录(默认 seeds)

§

Guard

生成 Guard(sz-rust 自研,无 PHP 对应)

Fields

§name: String

Guard 名称(如 Admin)

§

Validate

生成验证器(对齐 PHP make:validate)

在 app/validate/ 目录下生成 <Name>.rs 验证器骨架。

Fields

§name: String

验证器类名(如 User 或 admin/User)

§

Event

生成事件类(对齐 PHP make:event)

在 app/event/ 目录下生成 <Name>.rs 事件骨架,包含事件名与负载构造方法。

Fields

§name: String

事件类名(如 UserLogin 或 admin/UserLogin)

§

Listener

生成监听器(对齐 PHP make:listener)

在 app/listener/ 目录下生成 <Name>.rs 监听器骨架,实现 Listener trait。

Fields

§name: String

监听器类名(如 SendWelcomeEmail)

§event: Option<String>

监听的事件名(可选,默认使用类名)

§

Command

生成自定义命令(对齐 PHP make:command)

在 app/command/ 目录下生成 <Name>.rs 命令骨架,实现 Command trait。

Fields

§name: String

命令类名(如 SyncData)

§

Service

生成服务类(对齐 PHP make:service)

在 app/service/ 目录下生成 <Name>.rs 服务骨架,可注入容器。

Fields

§name: String

服务类名(如 UserService)

§

Middleware

生成中间件(sz-rust 自研,对齐 NestJS make:middleware)

在 app/middleware/ 目录下生成 <Name>.rs 中间件骨架, 实现 SzMiddleware trait,可注册到中间件链。

Fields

§name: String

中间件类名(如 CorsMiddleware 或 admin/RateLimit)

§

Scaffold

生成脚手架(Model + Controller + Migration)

Fields

§name: String

资源名称(如 User)

§

Plugin

生成插件骨架(P1-T3 插件模板库)

基于 Tera 模板引擎生成完整插件结构,含 Model、Controller、Service、 Repository、Migration、Routes、Manifest、Tests。 生成后自动执行 cargo check 验证,失败时回滚已写入文件。

Fields

§template: String

模板类型(如 crud 或 master-slave)

§name: String

插件名称(如 user-management)

§table: Option<String>

表名(可选,默认取插件名 snake_case)

§fields: Option<String>

字段定义(如 id:i32:pk,name:String,age:i32)

§force: bool

强制覆盖已存在目录

§output: Option<String>

输出目录(可选,默认 plugins/<name>/)

§master: Option<String>

主表名(主从模板专用)

§slave: Option<String>

从表名(主从模板专用)

§master_fields: Option<String>

主表字段定义(主从模板专用)

§slave_fields: Option<String>

从表字段定义(主从模板专用)

§foreign_key: Option<String>

外键字段名(主从模板专用)

§

Frontend

生成前端代码(P4-T1 前端代码生成)

根据 ORM 模型自动生成 Vue/React 组件、路由、权限、API 客户端。 对齐 Laravel Artisan make:frontend 风格。

Fields

§models: Vec<String>

要生成的模型名(可多次指定)

§model_dir: String

模型目录(默认 src/model/)

§framework: String

前端框架(vue / react)

§ui: String

UI 组件库(element_plus / ant_design_vue)

§output: String

输出目录(默认 ./frontend/)

§template_dir: Option<String>

自定义模板目录

§override_strategy: String

覆盖策略(skip / overwrite / merge)

§with_tests: bool

生成测试骨架

§with_interceptors: bool

生成请求拦截器

§lazy_load: bool

懒加载路由(默认 true)

§force: bool

强制覆盖非空输出目录

§

Openapi

生成 OpenAPI 3.0 文档(对齐 PHP make:openapi)

从路由定义自动生成 OpenAPI 3.0 JSON 文档。

Fields

§output: String

输出文件路径(默认 openapi.json)

§title: String

API 标题

§version: String

API 版本

§force: bool

强制覆盖已存在文件

Trait Implementations§

Source§

impl Debug for MakeCommand

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for MakeCommand

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for MakeCommand

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more